From 1799633091a3adcc6658063a8dc21f2bbc27e657 Mon Sep 17 00:00:00 2001 From: jazelly Date: Sat, 20 Apr 2024 13:26:27 +0930 Subject: [PATCH 01/96] feat: llama2 7b with qlora --- finetune_llama2_7b_qlora.ipynb | 1008 ++++++++++++++++++++++++++++++++ 1 file changed, 1008 insertions(+) create mode 100644 finetune_llama2_7b_qlora.ipynb diff --git a/finetune_llama2_7b_qlora.ipynb b/finetune_llama2_7b_qlora.ipynb new file mode 100644 index 0000000..c484134 --- /dev/null +++ b/finetune_llama2_7b_qlora.ipynb @@ -0,0 +1,1008 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "7822dbb1-f25f-40ff-930a-9a0ec065fc01", + "metadata": {}, + "source": [ + "# Fintune LLaMa-2 7B Chat model with QLoRA\n", + "\n", + "In this example, we are going to explore how to use SFT (Supervised Fine-tuning) to train LLaMa-2 7B model. To drastically reduce the VRAM usage, we must fine-tune the model in 4-bit precision, which is why we’ll use QLoRA here.\n", + "\n", + "As a result, this example perfectly runs on a RTX 3080 with only 10G VRAM, with the help of QLoRA.\n", + "\n", + "## Setup\n", + "\n", + "Make sure you have the following requirements\n", + "```\n", + "bitsandbytes==0.40.2\n", + "accelerate==0.21.0\n", + "peft==0.4.0\n", + "trl==0.4.7\n", + "datasets==2.17.0\n", + "transformers==4.31.0\n", + "```\n", + "Of course, as usual, you will need `torch` and `torchvision`" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "bc9cfbfa-9073-48b0-b7cf-301ca22d7c49", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import torch\n", + "from datasets import load_dataset\n", + "from transformers import (\n", + " AutoModelForCausalLM,\n", + " AutoTokenizer,\n", + " BitsAndBytesConfig,\n", + " HfArgumentParser,\n", + " TrainingArguments,\n", + " pipeline,\n", + " logging,\n", + ")\n", + "from peft import LoraConfig, PeftModel\n", + "from trl import SFTTrainer\n", + "\n", + "# The model that you want to train from the Hugging Face hub\n", + "model_name = \"NousResearch/llama-2-7b-chat-hf\"\n", + "\n", + "# The instruction dataset to use\n", + "dataset_name = \"AdiOO7/llama-2-finance\"\n", + "\n", + "# Fine-tuned model name\n", + "new_model = \"llama-2-7b-test-finance\"\n", + "\n", + "################################################################################\n", + "# QLoRA parameters\n", + "################################################################################\n", + "\n", + "# LoRA attention dimension\n", + "lora_r = 64\n", + "\n", + "# Alpha parameter for LoRA scaling\n", + "lora_alpha = 16\n", + "\n", + "# Dropout probability for LoRA layers\n", + "lora_dropout = 0.1\n", + "\n", + "################################################################################\n", + "# bitsandbytes parameters\n", + "################################################################################\n", + "\n", + "# Activate 4-bit precision base model loading\n", + "use_4bit = True\n", + "\n", + "# Compute dtype for 4-bit base models\n", + "bnb_4bit_compute_dtype = \"float16\"\n", + "\n", + "# Quantization type (fp4 or nf4)\n", + "bnb_4bit_quant_type = \"nf4\"\n", + "\n", + "# Activate nested quantization for 4-bit base models (double quantization)\n", + "use_nested_quant = False\n", + "\n", + "################################################################################\n", + "# TrainingArguments parameters\n", + "################################################################################\n", + "\n", + "# Output directory where the model predictions and checkpoints will be stored\n", + "output_dir = \"./results\"\n", + "\n", + "# Number of training epochs\n", + "num_train_epochs = 1\n", + "\n", + "# Enable fp16/bf16 training (set bf16 to True with an A100)\n", + "fp16 = False\n", + "bf16 = False\n", + "\n", + "# Batch size per GPU for training\n", + "per_device_train_batch_size = 4\n", + "\n", + "# Batch size per GPU for evaluation\n", + "per_device_eval_batch_size = 4\n", + "\n", + "# Number of update steps to accumulate the gradients for\n", + "gradient_accumulation_steps = 1\n", + "\n", + "# Enable gradient checkpointing\n", + "gradient_checkpointing = True\n", + "\n", + "# Maximum gradient normal (gradient clipping)\n", + "max_grad_norm = 0.3\n", + "\n", + "# Initial learning rate (AdamW optimizer)\n", + "learning_rate = 2e-4\n", + "\n", + "# Weight decay to apply to all layers except bias/LayerNorm weights\n", + "weight_decay = 0.001\n", + "\n", + "# Optimizer to use\n", + "optim = \"paged_adamw_32bit\"\n", + "\n", + "# Learning rate schedule (constant a bit better than cosine)\n", + "lr_scheduler_type = \"constant\"\n", + "\n", + "# Number of training steps (overrides num_train_epochs)\n", + "max_steps = -1\n", + "\n", + "# Ratio of steps for a linear warmup (from 0 to learning rate)\n", + "warmup_ratio = 0.03\n", + "\n", + "# Group sequences into batches with same length\n", + "# Saves memory and speeds up training considerably\n", + "group_by_length = True\n", + "\n", + "# Save checkpoint every X updates steps\n", + "save_steps = 25\n", + "\n", + "# Log every X updates steps\n", + "logging_steps = 25\n", + "\n", + "################################################################################\n", + "# SFT parameters\n", + "################################################################################\n", + "\n", + "# Maximum sequence length to use\n", + "max_seq_length = None\n", + "\n", + "# Pack multiple short examples in the same input sequence to increase efficiency\n", + "packing = False\n", + "\n", + "# Load the entire model on the GPU 0\n", + "device_map = {\"\": 0}" + ] + }, + { + "cell_type": "markdown", + "id": "71b2717a-c046-4938-b7cb-06d029d6e34f", + "metadata": {}, + "source": [ + "## Configure `bitsandbytes` for 4-bit quantization" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "e490c5db-148c-4931-9581-f24265075399", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading model - this gonna take some time for the first timer\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d9f2d4954cb04a4c837797238cd68cff", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Loading checkpoint shards: 0%| | 0/2 [00:00= 8:\n", + " print(\"=\" * 80)\n", + " print(\"Your GPU supports bfloat16: accelerate training with bf16=True\")\n", + " print(\"=\" * 80)\n", + "\n", + "\n", + "# Load LLaMA tokenizer\n", + "tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)\n", + "tokenizer.pad_token = tokenizer.eos_token\n", + "tokenizer.padding_side = \"right\" # Fix weird overflow issue with fp16 training" + ] + }, + { + "cell_type": "markdown", + "id": "2ce034e8-1471-4555-99f8-b7ea223e295c", + "metadata": {}, + "source": [ + "## Peft parameters\n", + "\n", + "Traditional fine-tuning of pre-trained language models (PLMs) requires updating all of the model's parameters, which is computationally expensive and requires massive amounts of data.\n", + "\n", + "Parameter-Efficient Fine-Tuning (PEFT) works by only updating a small subset of the model's most influential parameters, making it much more efficient. Learn about parameters by reading the PEFT official [doc](https://huggingface.co/docs/peft/main/en/conceptual_guides/lora)." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "67961adc-91ce-4da6-9385-8312a052f72f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Load LoRA configuration\n" + ] + } + ], + "source": [ + "print('Load LoRA configuration')\n", + "peft_config = LoraConfig(\n", + " lora_alpha=lora_alpha,\n", + " lora_dropout=lora_dropout,\n", + " r=lora_r,\n", + " bias=\"none\",\n", + " task_type=\"CAUSAL_LM\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "d7cb8d39-c59d-4e79-aa4f-2f7e52f18e10", + "metadata": {}, + "source": [ + "## Traning parameters\n", + "\n", + "Below is a list of hyperparameters that can be used to optimize the training process:\n", + "\n", + "- output_dir: The output directory is where the model predictions and checkpoints will be stored.\n", + "- num_train_epochs: One training epoch.\n", + "- fp16/bf16: Disable fp16/bf16 training.\n", + "- per_device_train_batch_size: Batch size per GPU for training.\n", + "- per_device_eval_batch_size: Batch size per GPU for evaluation.\n", + "- gradient_accumulation_steps: This refers to the number of steps required to accumulate the gradients during the update process.\n", + "- gradient_checkpointing: Enabling gradient checkpointing.\n", + "- max_grad_norm: Gradient clipping.\n", + "- learning_rate: Initial learning rate.\n", + "- weight_decay: Weight decay is applied to all layers except bias/LayerNorm weights.\n", + "- Optim: Model optimizer (AdamW optimizer).\n", + "- lr_scheduler_type: Learning rate schedule.\n", + "- max_steps: Number of training steps.\n", + "- warmup_ratio: Ratio of steps for a linear warmup.\n", + "- group_by_length: This can significantly improve performance and accelerate the training process.\n", + "- save_steps: Save checkpoint every 25 update steps.\n", + "- logging_steps: Log every 25 update steps" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "2cbdbbe6-2092-43c3-a625-d367b01b8836", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/peft/utils/other.py:102: FutureWarning: prepare_model_for_int8_training is deprecated and will be removed in a future version. Use prepare_model_for_kbit_training instead.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/trl/trainer/sft_trainer.py:159: UserWarning: You didn't pass a `max_seq_length` argument to the SFTTrainer, this will default to 1024\n", + " warnings.warn(\n" + ] + } + ], + "source": [ + "# Set training parameters\n", + "training_arguments = TrainingArguments(\n", + " output_dir=output_dir,\n", + " num_train_epochs=num_train_epochs,\n", + " per_device_train_batch_size=per_device_train_batch_size,\n", + " gradient_accumulation_steps=gradient_accumulation_steps,\n", + " optim=optim,\n", + " save_steps=save_steps,\n", + " logging_steps=logging_steps,\n", + " learning_rate=learning_rate,\n", + " weight_decay=weight_decay,\n", + " fp16=fp16,\n", + " bf16=bf16,\n", + " max_grad_norm=max_grad_norm,\n", + " max_steps=max_steps,\n", + " warmup_ratio=warmup_ratio,\n", + " group_by_length=group_by_length,\n", + " lr_scheduler_type=lr_scheduler_type,\n", + " report_to=\"tensorboard\"\n", + ")\n", + "\n", + "# Set supervised fine-tuning parameters\n", + "trainer = SFTTrainer(\n", + " model=model,\n", + " train_dataset=dataset[\"train\"],\n", + " peft_config=peft_config,\n", + " dataset_text_field=\"text\",\n", + " max_seq_length=max_seq_length,\n", + " tokenizer=tokenizer,\n", + " args=training_arguments,\n", + " packing=packing,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "811b63b6-d52e-4f6d-8ee0-8645389e45f0", + "metadata": {}, + "source": [ + "## Train\n", + "\n", + "Now we can do the actual training with SFT." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "6ef38a9b-c59f-4c26-8724-aa714a99223d", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "You're using a LlamaTokenizerFast tokenizer. Please note that with a fast tokenizer, using the `__call__` method is faster than using a method to encode the text followed by a call to the `pad` method to get a padded encoding.\n", + "`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`...\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "
\n", + " \n", + " \n", + " [1212/1212 12:33, Epoch 1/1]\n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
StepTraining Loss
252.251300
501.090700
751.445200
1000.977300
1251.289300
1500.993800
1751.291300
2001.022900
2251.247600
2501.039100
2751.178600
3000.991500
3251.165900
3500.930000
3751.202900
4000.944600
4251.265300
4500.961900
4751.122800
5000.963600
5251.251400
5500.920600
5751.139200
6000.993200
6251.136200
6500.991900
6751.228800
7000.931900
7251.155000
7500.950800
7751.139500
8000.874800
8251.187100
8500.895100
8751.215200
9000.899900
9251.203000
9500.944800
9751.134700
10000.908700
10251.137300
10500.950700
10751.200100
11000.932500
11251.139500
11500.925700
11751.126100
12000.938500

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n", + "/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:460: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Execution time: 758.4831464290619 seconds\n" + ] + } + ], + "source": [ + "import time\n", + "\n", + "start_time = time.time()\n", + "\n", + "# Train model\n", + "trainer.train()\n", + "\n", + "end_time = time.time()\n", + "execution_time = end_time - start_time\n", + "print(\"Execution time: \", execution_time, \"seconds\")\n", + "\n", + "# Save trained model\n", + "trainer.model.save_pretrained(new_model)" + ] + }, + { + "cell_type": "markdown", + "id": "89abb2ae-d819-4231-8c6c-0ac58dd2edce", + "metadata": {}, + "source": [ + "## Inference with new model\n", + "\n", + "Once the training is done, we can test the input/output from new model. Here I throw a question from the original dataset. And unsurprisingly, the model returns the correct answer. The problem is the model repeating it selft with continued text. I have not found a fix yet. Please raise an issue in github if you know the fix." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "26fda72d-aa8b-4dfd-a684-3538c6e95f7a", + "metadata": {}, + "outputs": [ + { + "ename": "OutOfMemoryError", + "evalue": "CUDA out of memory. Tried to allocate 86.00 MiB. GPU 0 has a total capacity of 10.00 GiB of which 0 bytes is free. Including non-PyTorch memory, this process has 17179869184.00 GiB memory in use. Of the allocated memory 16.11 GiB is allocated by PyTorch, and 129.54 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation. See documentation for Memory Management (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mOutOfMemoryError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[16], line 6\u001b[0m\n\u001b[1;32m 4\u001b[0m prompt \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mthe company has no plans to move all production to Russia\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 5\u001b[0m pipe \u001b[38;5;241m=\u001b[39m pipeline(task\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtext-generation\u001b[39m\u001b[38;5;124m\"\u001b[39m, model\u001b[38;5;241m=\u001b[39mmodel, tokenizer\u001b[38;5;241m=\u001b[39mtokenizer, max_length\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m200\u001b[39m)\n\u001b[0;32m----> 6\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43mpipe\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43mf\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m### Instruction: What is the sentiment of this tweet? Please choose an answer from \u001b[39;49m\u001b[38;5;130;43;01m{{\u001b[39;49;00m\u001b[38;5;124;43mnegative/neutral/positive\u001b[39;49m\u001b[38;5;130;43;01m}}\u001b[39;49;00m\u001b[38;5;124;43m ### Human: \u001b[39;49m\u001b[38;5;132;43;01m{\u001b[39;49;00m\u001b[43mprompt\u001b[49m\u001b[38;5;132;43;01m}\u001b[39;49;00m\u001b[38;5;124;43m ### Assistant:\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 7\u001b[0m \u001b[38;5;28mprint\u001b[39m(result[\u001b[38;5;241m0\u001b[39m][\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mgenerated_text\u001b[39m\u001b[38;5;124m'\u001b[39m])\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/transformers/pipelines/text_generation.py:200\u001b[0m, in \u001b[0;36mTextGenerationPipeline.__call__\u001b[0;34m(self, text_inputs, **kwargs)\u001b[0m\n\u001b[1;32m 159\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__call__\u001b[39m(\u001b[38;5;28mself\u001b[39m, text_inputs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 160\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 161\u001b[0m \u001b[38;5;124;03m Complete the prompt(s) given as inputs.\u001b[39;00m\n\u001b[1;32m 162\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 198\u001b[0m \u001b[38;5;124;03m ids of the generated text.\u001b[39;00m\n\u001b[1;32m 199\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 200\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__call__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mtext_inputs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/transformers/pipelines/base.py:1122\u001b[0m, in \u001b[0;36mPipeline.__call__\u001b[0;34m(self, inputs, num_workers, batch_size, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1114\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mnext\u001b[39m(\n\u001b[1;32m 1115\u001b[0m \u001b[38;5;28miter\u001b[39m(\n\u001b[1;32m 1116\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mget_iterator(\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1119\u001b[0m )\n\u001b[1;32m 1120\u001b[0m )\n\u001b[1;32m 1121\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 1122\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun_single\u001b[49m\u001b[43m(\u001b[49m\u001b[43minputs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpreprocess_params\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mforward_params\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpostprocess_params\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/transformers/pipelines/base.py:1129\u001b[0m, in \u001b[0;36mPipeline.run_single\u001b[0;34m(self, inputs, preprocess_params, forward_params, postprocess_params)\u001b[0m\n\u001b[1;32m 1127\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mrun_single\u001b[39m(\u001b[38;5;28mself\u001b[39m, inputs, preprocess_params, forward_params, postprocess_params):\n\u001b[1;32m 1128\u001b[0m model_inputs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpreprocess(inputs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mpreprocess_params)\n\u001b[0;32m-> 1129\u001b[0m model_outputs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mforward\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodel_inputs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mforward_params\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1130\u001b[0m outputs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpostprocess(model_outputs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mpostprocess_params)\n\u001b[1;32m 1131\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m outputs\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/transformers/pipelines/base.py:1028\u001b[0m, in \u001b[0;36mPipeline.forward\u001b[0;34m(self, model_inputs, **forward_params)\u001b[0m\n\u001b[1;32m 1026\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m inference_context():\n\u001b[1;32m 1027\u001b[0m model_inputs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_ensure_tensor_on_device(model_inputs, device\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdevice)\n\u001b[0;32m-> 1028\u001b[0m model_outputs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_forward\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodel_inputs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mforward_params\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1029\u001b[0m model_outputs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_ensure_tensor_on_device(model_outputs, device\u001b[38;5;241m=\u001b[39mtorch\u001b[38;5;241m.\u001b[39mdevice(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcpu\u001b[39m\u001b[38;5;124m\"\u001b[39m))\n\u001b[1;32m 1030\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/transformers/pipelines/text_generation.py:261\u001b[0m, in \u001b[0;36mTextGenerationPipeline._forward\u001b[0;34m(self, model_inputs, **generate_kwargs)\u001b[0m\n\u001b[1;32m 258\u001b[0m generate_kwargs[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmin_length\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m prefix_length\n\u001b[1;32m 260\u001b[0m \u001b[38;5;66;03m# BS x SL\u001b[39;00m\n\u001b[0;32m--> 261\u001b[0m generated_sequence \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgenerate\u001b[49m\u001b[43m(\u001b[49m\u001b[43minput_ids\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43minput_ids\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mattention_mask\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mattention_mask\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mgenerate_kwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 262\u001b[0m out_b \u001b[38;5;241m=\u001b[39m generated_sequence\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m0\u001b[39m]\n\u001b[1;32m 263\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mframework \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mpt\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/_contextlib.py:115\u001b[0m, in \u001b[0;36mcontext_decorator..decorate_context\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 112\u001b[0m \u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(func)\n\u001b[1;32m 113\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mdecorate_context\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 114\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m ctx_factory():\n\u001b[0;32m--> 115\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/transformers/generation/utils.py:1538\u001b[0m, in \u001b[0;36mGenerationMixin.generate\u001b[0;34m(self, inputs, generation_config, logits_processor, stopping_criteria, prefix_allowed_tokens_fn, synced_gpus, assistant_model, streamer, **kwargs)\u001b[0m\n\u001b[1;32m 1532\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[1;32m 1533\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnum_return_sequences has to be 1 when doing greedy search, \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 1534\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mbut is \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mgeneration_config\u001b[38;5;241m.\u001b[39mnum_return_sequences\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 1535\u001b[0m )\n\u001b[1;32m 1537\u001b[0m \u001b[38;5;66;03m# 11. run greedy search\u001b[39;00m\n\u001b[0;32m-> 1538\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgreedy_search\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1539\u001b[0m \u001b[43m \u001b[49m\u001b[43minput_ids\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1540\u001b[0m \u001b[43m \u001b[49m\u001b[43mlogits_processor\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlogits_processor\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1541\u001b[0m \u001b[43m \u001b[49m\u001b[43mstopping_criteria\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstopping_criteria\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1542\u001b[0m \u001b[43m \u001b[49m\u001b[43mpad_token_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mgeneration_config\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpad_token_id\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1543\u001b[0m \u001b[43m \u001b[49m\u001b[43meos_token_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mgeneration_config\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43meos_token_id\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1544\u001b[0m \u001b[43m \u001b[49m\u001b[43moutput_scores\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mgeneration_config\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moutput_scores\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1545\u001b[0m \u001b[43m \u001b[49m\u001b[43mreturn_dict_in_generate\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mgeneration_config\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreturn_dict_in_generate\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1546\u001b[0m \u001b[43m \u001b[49m\u001b[43msynced_gpus\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msynced_gpus\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1547\u001b[0m \u001b[43m \u001b[49m\u001b[43mstreamer\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstreamer\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1548\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mmodel_kwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1549\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1551\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m is_contrastive_search_gen_mode:\n\u001b[1;32m 1552\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m generation_config\u001b[38;5;241m.\u001b[39mnum_return_sequences \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m1\u001b[39m:\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/transformers/generation/utils.py:2362\u001b[0m, in \u001b[0;36mGenerationMixin.greedy_search\u001b[0;34m(self, input_ids, logits_processor, stopping_criteria, max_length, pad_token_id, eos_token_id, output_attentions, output_hidden_states, output_scores, return_dict_in_generate, synced_gpus, streamer, **model_kwargs)\u001b[0m\n\u001b[1;32m 2359\u001b[0m model_inputs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mprepare_inputs_for_generation(input_ids, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mmodel_kwargs)\n\u001b[1;32m 2361\u001b[0m \u001b[38;5;66;03m# forward pass to get next token\u001b[39;00m\n\u001b[0;32m-> 2362\u001b[0m outputs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m(\u001b[49m\n\u001b[1;32m 2363\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mmodel_inputs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2364\u001b[0m \u001b[43m \u001b[49m\u001b[43mreturn_dict\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 2365\u001b[0m \u001b[43m \u001b[49m\u001b[43moutput_attentions\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moutput_attentions\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2366\u001b[0m \u001b[43m \u001b[49m\u001b[43moutput_hidden_states\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moutput_hidden_states\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2367\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2369\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m synced_gpus \u001b[38;5;129;01mand\u001b[39;00m this_peer_finished:\n\u001b[1;32m 2370\u001b[0m \u001b[38;5;28;01mcontinue\u001b[39;00m \u001b[38;5;66;03m# don't waste resources running the code we don't need\u001b[39;00m\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/nn/modules/module.py:1511\u001b[0m, in \u001b[0;36mModule._wrapped_call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1509\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compiled_call_impl(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[1;32m 1510\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 1511\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/nn/modules/module.py:1520\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1515\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[1;32m 1516\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[1;32m 1517\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks\n\u001b[1;32m 1518\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[1;32m 1519\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[0;32m-> 1520\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1522\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 1523\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/accelerate/hooks.py:165\u001b[0m, in \u001b[0;36madd_hook_to_module..new_forward\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 163\u001b[0m output \u001b[38;5;241m=\u001b[39m old_forward(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 164\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 165\u001b[0m output \u001b[38;5;241m=\u001b[39m \u001b[43mold_forward\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 166\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m module\u001b[38;5;241m.\u001b[39m_hf_hook\u001b[38;5;241m.\u001b[39mpost_forward(module, output)\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py:806\u001b[0m, in \u001b[0;36mLlamaForCausalLM.forward\u001b[0;34m(self, input_ids, attention_mask, position_ids, past_key_values, inputs_embeds, labels, use_cache, output_attentions, output_hidden_states, return_dict)\u001b[0m\n\u001b[1;32m 803\u001b[0m return_dict \u001b[38;5;241m=\u001b[39m return_dict \u001b[38;5;28;01mif\u001b[39;00m return_dict \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconfig\u001b[38;5;241m.\u001b[39muse_return_dict\n\u001b[1;32m 805\u001b[0m \u001b[38;5;66;03m# decoder outputs consists of (dec_features, layer_state, dec_hidden, dec_attn)\u001b[39;00m\n\u001b[0;32m--> 806\u001b[0m outputs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmodel\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 807\u001b[0m \u001b[43m \u001b[49m\u001b[43minput_ids\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43minput_ids\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 808\u001b[0m \u001b[43m \u001b[49m\u001b[43mattention_mask\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mattention_mask\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 809\u001b[0m \u001b[43m \u001b[49m\u001b[43mposition_ids\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mposition_ids\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 810\u001b[0m \u001b[43m \u001b[49m\u001b[43mpast_key_values\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mpast_key_values\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 811\u001b[0m \u001b[43m \u001b[49m\u001b[43minputs_embeds\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43minputs_embeds\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 812\u001b[0m \u001b[43m \u001b[49m\u001b[43muse_cache\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43muse_cache\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 813\u001b[0m \u001b[43m \u001b[49m\u001b[43moutput_attentions\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moutput_attentions\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 814\u001b[0m \u001b[43m \u001b[49m\u001b[43moutput_hidden_states\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moutput_hidden_states\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 815\u001b[0m \u001b[43m \u001b[49m\u001b[43mreturn_dict\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mreturn_dict\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 816\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 818\u001b[0m hidden_states \u001b[38;5;241m=\u001b[39m outputs[\u001b[38;5;241m0\u001b[39m]\n\u001b[1;32m 819\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpretraining_tp \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m1\u001b[39m:\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/nn/modules/module.py:1511\u001b[0m, in \u001b[0;36mModule._wrapped_call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1509\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compiled_call_impl(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[1;32m 1510\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 1511\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/nn/modules/module.py:1520\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1515\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[1;32m 1516\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[1;32m 1517\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks\n\u001b[1;32m 1518\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[1;32m 1519\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[0;32m-> 1520\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1522\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 1523\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/accelerate/hooks.py:165\u001b[0m, in \u001b[0;36madd_hook_to_module..new_forward\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 163\u001b[0m output \u001b[38;5;241m=\u001b[39m old_forward(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 164\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 165\u001b[0m output \u001b[38;5;241m=\u001b[39m \u001b[43mold_forward\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 166\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m module\u001b[38;5;241m.\u001b[39m_hf_hook\u001b[38;5;241m.\u001b[39mpost_forward(module, output)\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py:685\u001b[0m, in \u001b[0;36mLlamaModel.forward\u001b[0;34m(self, input_ids, attention_mask, position_ids, past_key_values, inputs_embeds, use_cache, output_attentions, output_hidden_states, return_dict)\u001b[0m\n\u001b[1;32m 681\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m module(\u001b[38;5;241m*\u001b[39minputs, output_attentions, \u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[1;32m 683\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m custom_forward\n\u001b[0;32m--> 685\u001b[0m layer_outputs \u001b[38;5;241m=\u001b[39m \u001b[43mtorch\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mutils\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcheckpoint\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcheckpoint\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 686\u001b[0m \u001b[43m \u001b[49m\u001b[43mcreate_custom_forward\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdecoder_layer\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 687\u001b[0m \u001b[43m \u001b[49m\u001b[43mhidden_states\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 688\u001b[0m \u001b[43m \u001b[49m\u001b[43mattention_mask\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 689\u001b[0m \u001b[43m \u001b[49m\u001b[43mposition_ids\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 690\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 691\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 692\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 693\u001b[0m layer_outputs \u001b[38;5;241m=\u001b[39m decoder_layer(\n\u001b[1;32m 694\u001b[0m hidden_states,\n\u001b[1;32m 695\u001b[0m attention_mask\u001b[38;5;241m=\u001b[39mattention_mask,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 699\u001b[0m use_cache\u001b[38;5;241m=\u001b[39muse_cache,\n\u001b[1;32m 700\u001b[0m )\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/_compile.py:24\u001b[0m, in \u001b[0;36m_disable_dynamo..inner\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(fn)\n\u001b[1;32m 21\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21minner\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 22\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mtorch\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_dynamo\u001b[39;00m\n\u001b[0;32m---> 24\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mtorch\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_dynamo\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdisable\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrecursive\u001b[49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/_dynamo/eval_frame.py:489\u001b[0m, in \u001b[0;36m_TorchDynamoContext.__call__.._fn\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 487\u001b[0m dynamo_config_ctx\u001b[38;5;241m.\u001b[39m\u001b[38;5;21m__enter__\u001b[39m()\n\u001b[1;32m 488\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 489\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 490\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 491\u001b[0m set_eval_frame(prior)\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/_dynamo/external_utils.py:17\u001b[0m, in \u001b[0;36mwrap_inline..inner\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(fn)\n\u001b[1;32m 16\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21minner\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[0;32m---> 17\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:482\u001b[0m, in \u001b[0;36mcheckpoint\u001b[0;34m(function, use_reentrant, context_fn, determinism_check, debug, *args, **kwargs)\u001b[0m\n\u001b[1;32m 477\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m context_fn \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m noop_context_fn \u001b[38;5;129;01mor\u001b[39;00m debug \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mFalse\u001b[39;00m:\n\u001b[1;32m 478\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[1;32m 479\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mPassing `context_fn` or `debug` is only supported when \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 480\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124muse_reentrant=False.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 481\u001b[0m )\n\u001b[0;32m--> 482\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mCheckpointFunction\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mapply\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfunction\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpreserve\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 483\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 484\u001b[0m gen \u001b[38;5;241m=\u001b[39m _checkpoint_without_reentrant_generator(\n\u001b[1;32m 485\u001b[0m function, preserve, context_fn, determinism_check, debug, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs\n\u001b[1;32m 486\u001b[0m )\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/autograd/function.py:553\u001b[0m, in \u001b[0;36mFunction.apply\u001b[0;34m(cls, *args, **kwargs)\u001b[0m\n\u001b[1;32m 550\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m torch\u001b[38;5;241m.\u001b[39m_C\u001b[38;5;241m.\u001b[39m_are_functorch_transforms_active():\n\u001b[1;32m 551\u001b[0m \u001b[38;5;66;03m# See NOTE: [functorch vjp and autograd interaction]\u001b[39;00m\n\u001b[1;32m 552\u001b[0m args \u001b[38;5;241m=\u001b[39m _functorch\u001b[38;5;241m.\u001b[39mutils\u001b[38;5;241m.\u001b[39munwrap_dead_wrappers(args)\n\u001b[0;32m--> 553\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mapply\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[1;32m 555\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m is_setup_ctx_defined:\n\u001b[1;32m 556\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mRuntimeError\u001b[39;00m(\n\u001b[1;32m 557\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mIn order to use an autograd.Function with functorch transforms \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 558\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m(vmap, grad, jvp, jacrev, ...), it must override the setup_context \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 559\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mstaticmethod. For more details, please see \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 560\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhttps://pytorch.org/docs/master/notes/extending.func.html\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 561\u001b[0m )\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/utils/checkpoint.py:261\u001b[0m, in \u001b[0;36mCheckpointFunction.forward\u001b[0;34m(ctx, run_function, preserve_rng_state, *args)\u001b[0m\n\u001b[1;32m 258\u001b[0m ctx\u001b[38;5;241m.\u001b[39msave_for_backward(\u001b[38;5;241m*\u001b[39mtensor_inputs)\n\u001b[1;32m 260\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m torch\u001b[38;5;241m.\u001b[39mno_grad():\n\u001b[0;32m--> 261\u001b[0m outputs \u001b[38;5;241m=\u001b[39m \u001b[43mrun_function\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 262\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m outputs\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py:681\u001b[0m, in \u001b[0;36mLlamaModel.forward..create_custom_forward..custom_forward\u001b[0;34m(*inputs)\u001b[0m\n\u001b[1;32m 679\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mcustom_forward\u001b[39m(\u001b[38;5;241m*\u001b[39minputs):\n\u001b[1;32m 680\u001b[0m \u001b[38;5;66;03m# None for past_key_value\u001b[39;00m\n\u001b[0;32m--> 681\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mmodule\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43minputs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43moutput_attentions\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/nn/modules/module.py:1511\u001b[0m, in \u001b[0;36mModule._wrapped_call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1509\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compiled_call_impl(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[1;32m 1510\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 1511\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/nn/modules/module.py:1520\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1515\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[1;32m 1516\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[1;32m 1517\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks\n\u001b[1;32m 1518\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[1;32m 1519\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[0;32m-> 1520\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1522\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 1523\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/accelerate/hooks.py:165\u001b[0m, in \u001b[0;36madd_hook_to_module..new_forward\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 163\u001b[0m output \u001b[38;5;241m=\u001b[39m old_forward(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 164\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 165\u001b[0m output \u001b[38;5;241m=\u001b[39m \u001b[43mold_forward\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 166\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m module\u001b[38;5;241m.\u001b[39m_hf_hook\u001b[38;5;241m.\u001b[39mpost_forward(module, output)\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py:421\u001b[0m, in \u001b[0;36mLlamaDecoderLayer.forward\u001b[0;34m(self, hidden_states, attention_mask, position_ids, past_key_value, output_attentions, use_cache)\u001b[0m\n\u001b[1;32m 419\u001b[0m residual \u001b[38;5;241m=\u001b[39m hidden_states\n\u001b[1;32m 420\u001b[0m hidden_states \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpost_attention_layernorm(hidden_states)\n\u001b[0;32m--> 421\u001b[0m hidden_states \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmlp\u001b[49m\u001b[43m(\u001b[49m\u001b[43mhidden_states\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 422\u001b[0m hidden_states \u001b[38;5;241m=\u001b[39m residual \u001b[38;5;241m+\u001b[39m hidden_states\n\u001b[1;32m 424\u001b[0m outputs \u001b[38;5;241m=\u001b[39m (hidden_states,)\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/nn/modules/module.py:1511\u001b[0m, in \u001b[0;36mModule._wrapped_call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1509\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compiled_call_impl(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[1;32m 1510\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 1511\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/nn/modules/module.py:1520\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1515\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[1;32m 1516\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[1;32m 1517\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks\n\u001b[1;32m 1518\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[1;32m 1519\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[0;32m-> 1520\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1522\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 1523\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/accelerate/hooks.py:165\u001b[0m, in \u001b[0;36madd_hook_to_module..new_forward\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 163\u001b[0m output \u001b[38;5;241m=\u001b[39m old_forward(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 164\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 165\u001b[0m output \u001b[38;5;241m=\u001b[39m \u001b[43mold_forward\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 166\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m module\u001b[38;5;241m.\u001b[39m_hf_hook\u001b[38;5;241m.\u001b[39mpost_forward(module, output)\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py:216\u001b[0m, in \u001b[0;36mLlamaMLP.forward\u001b[0;34m(self, x)\u001b[0m\n\u001b[1;32m 214\u001b[0m down_proj \u001b[38;5;241m=\u001b[39m \u001b[38;5;28msum\u001b[39m(down_proj)\n\u001b[1;32m 215\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 216\u001b[0m down_proj \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdown_proj(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mact_fn(\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgate_proj\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m)\u001b[49m) \u001b[38;5;241m*\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mup_proj(x))\n\u001b[1;32m 218\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m down_proj\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/nn/modules/module.py:1511\u001b[0m, in \u001b[0;36mModule._wrapped_call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1509\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compiled_call_impl(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[1;32m 1510\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 1511\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/nn/modules/module.py:1520\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1515\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[1;32m 1516\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[1;32m 1517\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks\n\u001b[1;32m 1518\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[1;32m 1519\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[0;32m-> 1520\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1522\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 1523\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/accelerate/hooks.py:165\u001b[0m, in \u001b[0;36madd_hook_to_module..new_forward\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 163\u001b[0m output \u001b[38;5;241m=\u001b[39m old_forward(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 164\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 165\u001b[0m output \u001b[38;5;241m=\u001b[39m \u001b[43mold_forward\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 166\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m module\u001b[38;5;241m.\u001b[39m_hf_hook\u001b[38;5;241m.\u001b[39mpost_forward(module, output)\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/bitsandbytes/nn/modules.py:221\u001b[0m, in \u001b[0;36mLinear4bit.forward\u001b[0;34m(self, x)\u001b[0m\n\u001b[1;32m 218\u001b[0m x \u001b[38;5;241m=\u001b[39m x\u001b[38;5;241m.\u001b[39mto(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcompute_dtype)\n\u001b[1;32m 220\u001b[0m bias \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbias \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbias\u001b[38;5;241m.\u001b[39mto(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcompute_dtype)\n\u001b[0;32m--> 221\u001b[0m out \u001b[38;5;241m=\u001b[39m \u001b[43mbnb\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmatmul_4bit\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mweight\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mt\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbias\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mbias\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mquant_state\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mweight\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mquant_state\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 223\u001b[0m out \u001b[38;5;241m=\u001b[39m out\u001b[38;5;241m.\u001b[39mto(inp_dtype)\n\u001b[1;32m 225\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m out\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/bitsandbytes/autograd/_functions.py:579\u001b[0m, in \u001b[0;36mmatmul_4bit\u001b[0;34m(A, B, quant_state, out, bias)\u001b[0m\n\u001b[1;32m 577\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m out\n\u001b[1;32m 578\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 579\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mMatMul4Bit\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mapply\u001b[49m\u001b[43m(\u001b[49m\u001b[43mA\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mB\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mout\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbias\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mquant_state\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/torch/autograd/function.py:553\u001b[0m, in \u001b[0;36mFunction.apply\u001b[0;34m(cls, *args, **kwargs)\u001b[0m\n\u001b[1;32m 550\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m torch\u001b[38;5;241m.\u001b[39m_C\u001b[38;5;241m.\u001b[39m_are_functorch_transforms_active():\n\u001b[1;32m 551\u001b[0m \u001b[38;5;66;03m# See NOTE: [functorch vjp and autograd interaction]\u001b[39;00m\n\u001b[1;32m 552\u001b[0m args \u001b[38;5;241m=\u001b[39m _functorch\u001b[38;5;241m.\u001b[39mutils\u001b[38;5;241m.\u001b[39munwrap_dead_wrappers(args)\n\u001b[0;32m--> 553\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mapply\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[1;32m 555\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m is_setup_ctx_defined:\n\u001b[1;32m 556\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mRuntimeError\u001b[39;00m(\n\u001b[1;32m 557\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mIn order to use an autograd.Function with functorch transforms \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 558\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m(vmap, grad, jvp, jacrev, ...), it must override the setup_context \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 559\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mstaticmethod. For more details, please see \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 560\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhttps://pytorch.org/docs/master/notes/extending.func.html\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 561\u001b[0m )\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/bitsandbytes/autograd/_functions.py:516\u001b[0m, in \u001b[0;36mMatMul4Bit.forward\u001b[0;34m(ctx, A, B, out, bias, state)\u001b[0m\n\u001b[1;32m 511\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m torch\u001b[38;5;241m.\u001b[39mempty(A\u001b[38;5;241m.\u001b[39mshape[:\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m] \u001b[38;5;241m+\u001b[39m B_shape[:\u001b[38;5;241m1\u001b[39m], dtype\u001b[38;5;241m=\u001b[39mA\u001b[38;5;241m.\u001b[39mdtype, device\u001b[38;5;241m=\u001b[39mA\u001b[38;5;241m.\u001b[39mdevice)\n\u001b[1;32m 514\u001b[0m \u001b[38;5;66;03m# 1. Dequantize\u001b[39;00m\n\u001b[1;32m 515\u001b[0m \u001b[38;5;66;03m# 2. MatmulnN\u001b[39;00m\n\u001b[0;32m--> 516\u001b[0m output \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39mnn\u001b[38;5;241m.\u001b[39mfunctional\u001b[38;5;241m.\u001b[39mlinear(A, \u001b[43mF\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdequantize_4bit\u001b[49m\u001b[43m(\u001b[49m\u001b[43mB\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstate\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241m.\u001b[39mto(A\u001b[38;5;241m.\u001b[39mdtype)\u001b[38;5;241m.\u001b[39mt(), bias)\n\u001b[1;32m 518\u001b[0m \u001b[38;5;66;03m# 3. Save state\u001b[39;00m\n\u001b[1;32m 519\u001b[0m ctx\u001b[38;5;241m.\u001b[39mstate \u001b[38;5;241m=\u001b[39m state\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/bitsandbytes/functional.py:908\u001b[0m, in \u001b[0;36mdequantize_4bit\u001b[0;34m(A, quant_state, absmax, out, blocksize, quant_type)\u001b[0m\n\u001b[1;32m 905\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m absmax\u001b[38;5;241m.\u001b[39mdtype \u001b[38;5;241m!=\u001b[39m torch\u001b[38;5;241m.\u001b[39mfloat32: absmax \u001b[38;5;241m=\u001b[39m absmax\u001b[38;5;241m.\u001b[39mfloat()\n\u001b[1;32m 907\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m out \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m--> 908\u001b[0m out \u001b[38;5;241m=\u001b[39m \u001b[43mtorch\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mempty\u001b[49m\u001b[43m(\u001b[49m\u001b[43mshape\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdtype\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdtype\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdevice\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mA\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdevice\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 910\u001b[0m n \u001b[38;5;241m=\u001b[39m out\u001b[38;5;241m.\u001b[39mnumel()\n\u001b[1;32m 913\u001b[0m device \u001b[38;5;241m=\u001b[39m pre_call(A\u001b[38;5;241m.\u001b[39mdevice)\n", + "\u001b[0;31mOutOfMemoryError\u001b[0m: CUDA out of memory. Tried to allocate 86.00 MiB. GPU 0 has a total capacity of 10.00 GiB of which 0 bytes is free. Including non-PyTorch memory, this process has 17179869184.00 GiB memory in use. Of the allocated memory 16.11 GiB is allocated by PyTorch, and 129.54 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation. See documentation for Memory Management (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)" + ] + } + ], + "source": [ + "logging.set_verbosity(logging.CRITICAL)\n", + "\n", + "# Run text generation pipeline with our next model\n", + "prompt = \"the company has no plans to move all production to Russia\"\n", + "pipe = pipeline(task=\"text-generation\", model=model, tokenizer=tokenizer, max_length=200)\n", + "result = pipe(f\"### Instruction: What is the sentiment of this tweet? Please choose an answer from {{negative/neutral/positive}} ### Human: {prompt} ### Assistant:\")\n", + "print(result[0]['generated_text'])" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "79b86045-287c-484c-a4a0-9a566fa64ddd", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[INST] What is a large language model? [/INST] A large language model is a type of artificial intelligence (AI) model that is trained on a large dataset of text to generate language outputs that are coherent and natural-sounding. everybody is talking about the next big thing in AI: large language models. Large language models are neural networks that are trained on vast amounts of text data to generate language outputs that are coherent and natural-sounding. These models are capable of generating text that is often indistinguishable from human-written text, and they have a wide range of applications, from chatbots and language translation to content generation and text summarization. In this article, we will explore the current state of large language models, their applications, and the challenges and limitations of these models. What is a large language model? A large language model is a type of neural network that is trained on a large dataset of text\n" + ] + } + ], + "source": [ + "# Ignore warnings\n", + "logging.set_verbosity(logging.CRITICAL)\n", + "\n", + "# Run text generation pipeline with our next model\n", + "prompt = \"What is a large language model?\"\n", + "pipe = pipeline(task=\"text-generation\", model=model, tokenizer=tokenizer, max_length=200)\n", + "result = pipe(f\"[INST] {prompt} [/INST]\")\n", + "print(result[0]['generated_text'])" + ] + }, + { + "cell_type": "markdown", + "id": "e1fabff4-1058-4de0-9f74-a7610bcd9cb4", + "metadata": {}, + "source": [ + "## Store the trained model\n", + "\n", + "How can we store our new llama-2-7b-test-finance model now? We need to merge the weights from LoRA with the base model. Unfortunately, as far as I know, there is no straightforward way to do it: we need to reload the base model in FP16 precision and use the peft library to merge everything. Alas, it also creates a problem with the VRAM (despite emptying it), so I recommend restarting the notebook, re-executing the three first cells, and then executing the next one." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "d1b48bd5-f833-426a-a2a3-db121d5c9820", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c131b29dacb64ae7b762554ff087ed4c", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Loading checkpoint shards: 0%| | 0/2 [00:00 2\u001b[0m base_model \u001b[38;5;241m=\u001b[39m \u001b[43mAutoModelForCausalLM\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfrom_pretrained\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 3\u001b[0m \u001b[43m \u001b[49m\u001b[43mmodel_name\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 4\u001b[0m \u001b[43m \u001b[49m\u001b[43mlow_cpu_mem_usage\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 5\u001b[0m \u001b[43m \u001b[49m\u001b[43mreturn_dict\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 6\u001b[0m \u001b[43m \u001b[49m\u001b[43mtorch_dtype\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtorch\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfloat16\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 7\u001b[0m \u001b[43m \u001b[49m\u001b[43mdevice_map\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdevice_map\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 8\u001b[0m \u001b[43m)\u001b[49m\n\u001b[1;32m 9\u001b[0m model \u001b[38;5;241m=\u001b[39m PeftModel\u001b[38;5;241m.\u001b[39mfrom_pretrained(base_model, new_model)\n\u001b[1;32m 10\u001b[0m model \u001b[38;5;241m=\u001b[39m model\u001b[38;5;241m.\u001b[39mmerge_and_unload()\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/transformers/models/auto/auto_factory.py:493\u001b[0m, in \u001b[0;36m_BaseAutoModelClass.from_pretrained\u001b[0;34m(cls, pretrained_model_name_or_path, *model_args, **kwargs)\u001b[0m\n\u001b[1;32m 491\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mtype\u001b[39m(config) \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_model_mapping\u001b[38;5;241m.\u001b[39mkeys():\n\u001b[1;32m 492\u001b[0m model_class \u001b[38;5;241m=\u001b[39m _get_model_class(config, \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_model_mapping)\n\u001b[0;32m--> 493\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mmodel_class\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfrom_pretrained\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 494\u001b[0m \u001b[43m \u001b[49m\u001b[43mpretrained_model_name_or_path\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mmodel_args\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mconfig\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mconfig\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mhub_kwargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\n\u001b[1;32m 495\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 496\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[1;32m 497\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mUnrecognized configuration class \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mconfig\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__class__\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m for this kind of AutoModel: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 498\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mModel type should be one of \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m, \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;241m.\u001b[39mjoin(c\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mfor\u001b[39;00m\u001b[38;5;250m \u001b[39mc\u001b[38;5;250m \u001b[39m\u001b[38;5;129;01min\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_model_mapping\u001b[38;5;241m.\u001b[39mkeys())\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 499\u001b[0m )\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/transformers/modeling_utils.py:2903\u001b[0m, in \u001b[0;36mPreTrainedModel.from_pretrained\u001b[0;34m(cls, pretrained_model_name_or_path, config, cache_dir, ignore_mismatched_sizes, force_download, local_files_only, token, revision, use_safetensors, *model_args, **kwargs)\u001b[0m\n\u001b[1;32m 2893\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m dtype_orig \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 2894\u001b[0m torch\u001b[38;5;241m.\u001b[39mset_default_dtype(dtype_orig)\n\u001b[1;32m 2896\u001b[0m (\n\u001b[1;32m 2897\u001b[0m model,\n\u001b[1;32m 2898\u001b[0m missing_keys,\n\u001b[1;32m 2899\u001b[0m unexpected_keys,\n\u001b[1;32m 2900\u001b[0m mismatched_keys,\n\u001b[1;32m 2901\u001b[0m offload_index,\n\u001b[1;32m 2902\u001b[0m error_msgs,\n\u001b[0;32m-> 2903\u001b[0m ) \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mcls\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_load_pretrained_model\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 2904\u001b[0m \u001b[43m \u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2905\u001b[0m \u001b[43m \u001b[49m\u001b[43mstate_dict\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2906\u001b[0m \u001b[43m \u001b[49m\u001b[43mloaded_state_dict_keys\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m# XXX: rename?\u001b[39;49;00m\n\u001b[1;32m 2907\u001b[0m \u001b[43m \u001b[49m\u001b[43mresolved_archive_file\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2908\u001b[0m \u001b[43m \u001b[49m\u001b[43mpretrained_model_name_or_path\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2909\u001b[0m \u001b[43m \u001b[49m\u001b[43mignore_mismatched_sizes\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mignore_mismatched_sizes\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2910\u001b[0m \u001b[43m \u001b[49m\u001b[43msharded_metadata\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msharded_metadata\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2911\u001b[0m \u001b[43m \u001b[49m\u001b[43m_fast_init\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m_fast_init\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2912\u001b[0m \u001b[43m \u001b[49m\u001b[43mlow_cpu_mem_usage\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlow_cpu_mem_usage\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2913\u001b[0m \u001b[43m \u001b[49m\u001b[43mdevice_map\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdevice_map\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2914\u001b[0m \u001b[43m \u001b[49m\u001b[43moffload_folder\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moffload_folder\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2915\u001b[0m \u001b[43m \u001b[49m\u001b[43moffload_state_dict\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moffload_state_dict\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2916\u001b[0m \u001b[43m \u001b[49m\u001b[43mdtype\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtorch_dtype\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2917\u001b[0m \u001b[43m \u001b[49m\u001b[43mis_quantized\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mload_in_8bit\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01mor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mload_in_4bit\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2918\u001b[0m \u001b[43m \u001b[49m\u001b[43mkeep_in_fp32_modules\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mkeep_in_fp32_modules\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2919\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2921\u001b[0m model\u001b[38;5;241m.\u001b[39mis_loaded_in_4bit \u001b[38;5;241m=\u001b[39m load_in_4bit\n\u001b[1;32m 2922\u001b[0m model\u001b[38;5;241m.\u001b[39mis_loaded_in_8bit \u001b[38;5;241m=\u001b[39m load_in_8bit\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/transformers/modeling_utils.py:3260\u001b[0m, in \u001b[0;36mPreTrainedModel._load_pretrained_model\u001b[0;34m(cls, model, state_dict, loaded_keys, resolved_archive_file, pretrained_model_name_or_path, ignore_mismatched_sizes, sharded_metadata, _fast_init, low_cpu_mem_usage, device_map, offload_folder, offload_state_dict, dtype, is_quantized, keep_in_fp32_modules)\u001b[0m\n\u001b[1;32m 3250\u001b[0m mismatched_keys \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m _find_mismatched_keys(\n\u001b[1;32m 3251\u001b[0m state_dict,\n\u001b[1;32m 3252\u001b[0m model_state_dict,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 3256\u001b[0m ignore_mismatched_sizes,\n\u001b[1;32m 3257\u001b[0m )\n\u001b[1;32m 3259\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m low_cpu_mem_usage:\n\u001b[0;32m-> 3260\u001b[0m new_error_msgs, offload_index, state_dict_index \u001b[38;5;241m=\u001b[39m \u001b[43m_load_state_dict_into_meta_model\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 3261\u001b[0m \u001b[43m \u001b[49m\u001b[43mmodel_to_load\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3262\u001b[0m \u001b[43m \u001b[49m\u001b[43mstate_dict\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3263\u001b[0m \u001b[43m \u001b[49m\u001b[43mloaded_keys\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3264\u001b[0m \u001b[43m \u001b[49m\u001b[43mstart_prefix\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3265\u001b[0m \u001b[43m \u001b[49m\u001b[43mexpected_keys\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3266\u001b[0m \u001b[43m \u001b[49m\u001b[43mdevice_map\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdevice_map\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3267\u001b[0m \u001b[43m \u001b[49m\u001b[43moffload_folder\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moffload_folder\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3268\u001b[0m \u001b[43m \u001b[49m\u001b[43moffload_index\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moffload_index\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3269\u001b[0m \u001b[43m \u001b[49m\u001b[43mstate_dict_folder\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstate_dict_folder\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3270\u001b[0m \u001b[43m \u001b[49m\u001b[43mstate_dict_index\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstate_dict_index\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3271\u001b[0m \u001b[43m \u001b[49m\u001b[43mdtype\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdtype\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3272\u001b[0m \u001b[43m \u001b[49m\u001b[43mis_quantized\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mis_quantized\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3273\u001b[0m \u001b[43m \u001b[49m\u001b[43mis_safetensors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mis_safetensors\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3274\u001b[0m \u001b[43m \u001b[49m\u001b[43mkeep_in_fp32_modules\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mkeep_in_fp32_modules\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3275\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 3276\u001b[0m error_msgs \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m new_error_msgs\n\u001b[1;32m 3277\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/transformers/modeling_utils.py:717\u001b[0m, in \u001b[0;36m_load_state_dict_into_meta_model\u001b[0;34m(model, state_dict, loaded_state_dict_keys, start_prefix, expected_keys, device_map, offload_folder, offload_index, state_dict_folder, state_dict_index, dtype, is_quantized, is_safetensors, keep_in_fp32_modules)\u001b[0m\n\u001b[1;32m 714\u001b[0m state_dict_index \u001b[38;5;241m=\u001b[39m offload_weight(param, param_name, state_dict_folder, state_dict_index)\n\u001b[1;32m 715\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m is_quantized:\n\u001b[1;32m 716\u001b[0m \u001b[38;5;66;03m# For backward compatibility with older versions of `accelerate`\u001b[39;00m\n\u001b[0;32m--> 717\u001b[0m \u001b[43mset_module_tensor_to_device\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mparam_name\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mparam_device\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mset_module_kwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 718\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 719\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m param\u001b[38;5;241m.\u001b[39mdtype \u001b[38;5;241m==\u001b[39m torch\u001b[38;5;241m.\u001b[39mint8 \u001b[38;5;129;01mand\u001b[39;00m param_name\u001b[38;5;241m.\u001b[39mreplace(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mweight\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mSCB\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;129;01min\u001b[39;00m state_dict\u001b[38;5;241m.\u001b[39mkeys():\n", + "File \u001b[0;32m/mnt/e/github/my/finetune/.venv/lib/python3.10/site-packages/accelerate/utils/modeling.py:298\u001b[0m, in \u001b[0;36mset_module_tensor_to_device\u001b[0;34m(module, tensor_name, device, value, dtype, fp16_statistics)\u001b[0m\n\u001b[1;32m 296\u001b[0m module\u001b[38;5;241m.\u001b[39m_parameters[tensor_name] \u001b[38;5;241m=\u001b[39m param_cls(new_value, requires_grad\u001b[38;5;241m=\u001b[39mold_value\u001b[38;5;241m.\u001b[39mrequires_grad)\n\u001b[1;32m 297\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(value, torch\u001b[38;5;241m.\u001b[39mTensor):\n\u001b[0;32m--> 298\u001b[0m new_value \u001b[38;5;241m=\u001b[39m \u001b[43mvalue\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mto\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdevice\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 299\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 300\u001b[0m new_value \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39mtensor(value, device\u001b[38;5;241m=\u001b[39mdevice)\n", + "\u001b[0;31mOutOfMemoryError\u001b[0m: CUDA out of memory. Tried to allocate 86.00 MiB. GPU 0 has a total capacity of 10.00 GiB of which 0 bytes is free. Including non-PyTorch memory, this process has 17179869184.00 GiB memory in use. Of the allocated memory 16.11 GiB is allocated by PyTorch, and 128.01 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation. See documentation for Memory Management (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)" + ] + } + ], + "source": [ + "# Reload model in FP16 and merge it with LoRA weights\n", + "base_model = AutoModelForCausalLM.from_pretrained(\n", + " model_name,\n", + " low_cpu_mem_usage=True,\n", + " return_dict=True,\n", + " torch_dtype=torch.float16,\n", + " device_map=device_map,\n", + ")\n", + "model = PeftModel.from_pretrained(base_model, new_model)\n", + "model = model.merge_and_unload()\n", + "\n", + "# Reload tokenizer to save it\n", + "tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)\n", + "tokenizer.pad_token = tokenizer.eos_token\n", + "tokenizer.padding_side = \"right\"" + ] + }, + { + "cell_type": "markdown", + "id": "0a4af587-ab15-40ad-8343-fe3354d9febf", + "metadata": {}, + "source": [ + "## Push to HF\n", + "\n", + "Our weights are merged and we reloaded the tokenizer. We can now push everything to the Hugging Face Hub to save our model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "261ff374-9f5e-4c71-bbe6-c12c3dd1df51", + "metadata": {}, + "outputs": [], + "source": [ + "model.push_to_hub(new_model, use_temp_dir=False)\n", + "tokenizer.push_to_hub(new_model, use_temp_dir=False)" + ] + }, + { + "cell_type": "markdown", + "id": "c76d3650-75e2-4c32-a2e3-88f6490790a3", + "metadata": {}, + "source": [ + "## Acknowledgements\n", + "\n", + "This example is greatly inspired by Maxime Labonne @mlabonne and his great blog post https://mlabonne.github.io/blog/posts/Fine_Tune_Your_Own_Llama_2_Model_in_a_Colab_Notebook.html " + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 20f8cf8c28beeb68edb2dd9b0f6c5cabb6666817 Mon Sep 17 00:00:00 2001 From: jazelly Date: Mon, 22 Apr 2024 16:15:17 +0930 Subject: [PATCH 02/96] restructure --- README.md | 40 ++++++++++ .../notebook/sft_qlora.ipynb | 15 ++-- llama2/requirements.txt | 9 +++ llama2/script/sft.py | 80 +++++++++++++++++++ llama2/script/utils.py | 27 +++++++ 5 files changed, 163 insertions(+), 8 deletions(-) rename finetune_llama2_7b_qlora.ipynb => llama2/notebook/sft_qlora.ipynb (99%) create mode 100644 llama2/requirements.txt create mode 100644 llama2/script/sft.py create mode 100644 llama2/script/utils.py diff --git a/README.md b/README.md index dbe19fb..5536f96 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,42 @@ # FinetuneLLMs Collections of all kinds of LLMs finetuning scripts + +## Installation dependencies + +### Install pytorch + +The easist way to do this is via conda. If you don't have conda, please go to [the installation guide](https://conda.io/projects/conda/en/latest/user-guide/install/index.html) + +``` +conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia +``` + +If you don't want to use conda, I recommend virtual env for different LLMs, as they have different requirements + +#### For Linux + +Install CUDA from [Nvidia installation guide](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/) + +``` +cd llama2 +python3 -m venv .llama2 +source ./.llama2/bin/activate +pip3 install torch +pip3 install -r requirements.txt +``` + +#### For Windows + +Enable WSL2 on your machine +Install CUDA inside WSL by followwing the Linux guide. + + +#### For Mac + +Incoming, with mlx + + +## Usage + +LLM scripts are categorized by their names. Under each, you will see `notebook/`, for `jupyter notebook`, and `script/`, for `python` scripts. They should share same dependencies. +The training dataset or logic, however, might not be the same, as the purpose of this repo is to share various different examples of finetuning scripts so you can grasp the ideas. \ No newline at end of file diff --git a/finetune_llama2_7b_qlora.ipynb b/llama2/notebook/sft_qlora.ipynb similarity index 99% rename from finetune_llama2_7b_qlora.ipynb rename to llama2/notebook/sft_qlora.ipynb index c484134..6d01cb1 100644 --- a/finetune_llama2_7b_qlora.ipynb +++ b/llama2/notebook/sft_qlora.ipynb @@ -15,14 +15,13 @@ "\n", "Make sure you have the following requirements\n", "```\n", - "bitsandbytes==0.40.2\n", - "accelerate==0.21.0\n", - "peft==0.4.0\n", - "trl==0.4.7\n", - "datasets==2.17.0\n", - "transformers==4.31.0\n", - "```\n", - "Of course, as usual, you will need `torch` and `torchvision`" + "bitsandbytes>=0.40.2\n", + "accelerate>=0.21.0\n", + "peft>=0.4.0\n", + "trl>=0.4.7\n", + "datasets>=2.17.0\n", + "transformers>=4.31.0\n", + "```" ] }, { diff --git a/llama2/requirements.txt b/llama2/requirements.txt new file mode 100644 index 0000000..22cf563 --- /dev/null +++ b/llama2/requirements.txt @@ -0,0 +1,9 @@ +transformers +trl +peft +accelerate +datasets +bitsandbytes +scipy +sentencepiece +gradio \ No newline at end of file diff --git a/llama2/script/sft.py b/llama2/script/sft.py new file mode 100644 index 0000000..c1ce41c --- /dev/null +++ b/llama2/script/sft.py @@ -0,0 +1,80 @@ +import os +import torch + +from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments,BitsAndBytesConfig +from datasets import load_dataset +from trl import SFTTrainer +from peft import AutoPeftModelForCausalLM, LoraConfig, get_peft_model, prepare_model_for_kbit_training +from utils import find_all_linear_names, print_trainable_parameters + +output_dir="./results" +model_name ="NousResearch/Llama-2-7b-hf" + +dataset = load_dataset("json", data_files="conversations.json",split="train") + +bnb_config = BitsAndBytesConfig( + load_in_4bit=True, + bnb_4bit_quant_type="nf4", + bnb_4bit_compute_dtype=torch.bfloat16, +) + +base_model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.bfloat16, quantization_config=bnb_config) +base_model.config.use_cache = False +base_model = prepare_model_for_kbit_training(base_model) + +tokenizer = AutoTokenizer.from_pretrained(model_name) +tokenizer.pad_token = tokenizer.eos_token +tokenizer.padding_side = "right" # Fix weird overflow issue with fp16 training + +# Change the LORA hyperparameters accordingly to fit your use case +peft_config = LoraConfig( + r=128, + lora_alpha=16, + target_modules=find_all_linear_names(base_model), + lora_dropout=0.05, + bias="none", + task_type="CAUSAL_LM", +) + +base_model = get_peft_model(base_model, peft_config) +print_trainable_parameters(base_model) + +def formatting_prompts_func(example): + output_texts = [] + for i in range(len(example['prompt'])): + text = f"An AI tool that corrects and rephrase user text grammar errors delimited by triple backticks to standard English.\n### Input: ```{example['prompt'][i]}```\n ### Output: {example['completion'][i]}" + output_texts.append(text) + return output_texts + +# Parameters for training arguments details => https://github.com/huggingface/transformers/blob/main/src/transformers/training_args.py#L158 +training_args = TrainingArguments( + per_device_train_batch_size=4, + gradient_accumulation_steps=4, + gradient_checkpointing =True, + max_grad_norm= 0.3, + num_train_epochs=15, + learning_rate=2e-4, + bf16=True, + save_total_limit=3, + logging_steps=10, + output_dir=output_dir, + optim="paged_adamw_32bit", + lr_scheduler_type="cosine", + warmup_ratio=0.05, +) + +trainer = SFTTrainer( + base_model, + train_dataset=dataset, + tokenizer=tokenizer, + max_seq_length=2048, + formatting_func=formatting_prompts_func, + args=training_args +) + +trainer.train() +trainer.save_model(output_dir) + +output_dir = os.path.join(output_dir, "final_checkpoint") +trainer.model.save_pretrained(output_dir) +tokenizer.save_pretrained(output_dir) \ No newline at end of file diff --git a/llama2/script/utils.py b/llama2/script/utils.py new file mode 100644 index 0000000..5022698 --- /dev/null +++ b/llama2/script/utils.py @@ -0,0 +1,27 @@ +import torch +import bitsandbytes as bnb + +def find_all_linear_names(model): + cls = bnb.nn.Linear4bit + lora_module_names = set() + for name, module in model.named_modules(): + if isinstance(module, cls): + names = name.split('.') + lora_module_names.add(names[0] if len(names) == 1 else names[-1]) + + return list(lora_module_names) + + +def print_trainable_parameters(model): + """ + Prints the number of trainable parameters in the model. + """ + trainable_params = 0 + all_param = 0 + for _, param in model.named_parameters(): + all_param += param.numel() + if param.requires_grad: + trainable_params += param.numel() + print( + f"trainable params: {trainable_params} | all params: {all_param} | trainables%: {100 * trainable_params / all_param}" + ) \ No newline at end of file From b3f60333f687711b216b098a3a17e333baee2b58 Mon Sep 17 00:00:00 2001 From: jazelly Date: Thu, 25 Apr 2024 09:34:04 +0930 Subject: [PATCH 03/96] feat: add llama3 and phi3 --- .gitignore | 3 + README.md | 21 ++- llama3/notebook/orpo_dpo.ipynb | 313 +++++++++++++++++++++++++++++++++ llama3/requirements.txt | 6 + phi3/requirements.txt | 3 + phi3/script/sft.py | 129 ++++++++++++++ 6 files changed, 471 insertions(+), 4 deletions(-) create mode 100644 llama3/notebook/orpo_dpo.ipynb create mode 100644 llama3/requirements.txt create mode 100644 phi3/requirements.txt create mode 100644 phi3/script/sft.py diff --git a/.gitignore b/.gitignore index 68bc17f..76523d7 100644 --- a/.gitignore +++ b/.gitignore @@ -127,6 +127,7 @@ venv/ ENV/ env.bak/ venv.bak/ +*/.venv # Spyder project settings .spyderproject @@ -158,3 +159,5 @@ cython_debug/ # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ + +results/ \ No newline at end of file diff --git a/README.md b/README.md index 5536f96..7045ca3 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,11 @@ # FinetuneLLMs Collections of all kinds of LLMs finetuning scripts -## Installation dependencies +This repo aims to provide the finest collection of all tuning scripts that can be easily accessed by anyone. + +Every training script in this repo is tested across multiple platforms. + +## Install dependencies ### Install pytorch @@ -27,8 +31,9 @@ pip3 install -r requirements.txt #### For Windows -Enable WSL2 on your machine -Install CUDA inside WSL by followwing the Linux guide. +Enable WSL2 on your machine. + +Install CUDA inside WSL by following the Linux guide. #### For Mac @@ -39,4 +44,12 @@ Incoming, with mlx ## Usage LLM scripts are categorized by their names. Under each, you will see `notebook/`, for `jupyter notebook`, and `script/`, for `python` scripts. They should share same dependencies. -The training dataset or logic, however, might not be the same, as the purpose of this repo is to share various different examples of finetuning scripts so you can grasp the ideas. \ No newline at end of file +The training dataset or logic, however, might not be the same, as the purpose of this repo is to share various different examples of finetuning scripts so you can grasp the ideas. + + +## TODO + +- [ ] Try training at GGML and GGUF level +- [ ] Explore OLLAMA +- [ ] Explore mlx examples +- [ ] Explore Finetuning Model in LangChain with OLLAMA \ No newline at end of file diff --git a/llama3/notebook/orpo_dpo.ipynb b/llama3/notebook/orpo_dpo.ipynb new file mode 100644 index 0000000..dabf7ed --- /dev/null +++ b/llama3/notebook/orpo_dpo.ipynb @@ -0,0 +1,313 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 13, + "id": "a09aefb6-e591-44d7-9fea-506fa5874f34", + "metadata": {}, + "outputs": [], + "source": [ + "import gc\n", + "import os\n", + "\n", + "import torch\n", + "from datasets import load_dataset\n", + "# from google.colab import userdata\n", + "from peft import LoraConfig, PeftModel, prepare_model_for_kbit_training\n", + "from transformers import (\n", + " AutoModelForCausalLM,\n", + " AutoTokenizer,\n", + " BitsAndBytesConfig,\n", + " TrainingArguments,\n", + " pipeline,\n", + ")\n", + "from trl import ORPOConfig, ORPOTrainer, setup_chat_format" + ] + }, + { + "cell_type": "markdown", + "id": "e92a0dd5-a9f7-495b-95ad-9624ca8d3f6f", + "metadata": {}, + "source": [ + "Flash attention is not stable. I encountered an issue with `NameError: name 'index_first_axis' is not defined`, and the only resolution was to not use flash attention. If you know the fix. please contact me or raise an issue." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "5f139bc1-f5c6-44a6-8c22-337303f1a6f4", + "metadata": {}, + "outputs": [], + "source": [ + "attn_implementation = \"eager\"\n", + "torch_dtype = torch.float16" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "6776fea8-1a1a-4fec-aec5-8e6603e62904", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.\n" + ] + }, + { + "ename": "ValueError", + "evalue": "\n Some modules are dispatched on the CPU or the disk. Make sure you have enough GPU RAM to fit the\n quantized model. If you want to dispatch the model on the CPU or the disk while keeping these modules\n in 32-bit, you need to set `llm_int8_enable_fp32_cpu_offload=True` and pass a custom `device_map` to\n `from_pretrained`. Check\n https://huggingface.co/docs/transformers/main/en/main_classes/quantization#offload-between-cpu-and-gpu\n for more details.\n ", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[15], line 27\u001b[0m\n\u001b[1;32m 24\u001b[0m tokenizer \u001b[38;5;241m=\u001b[39m AutoTokenizer\u001b[38;5;241m.\u001b[39mfrom_pretrained(base_model)\n\u001b[1;32m 26\u001b[0m \u001b[38;5;66;03m# Load model\u001b[39;00m\n\u001b[0;32m---> 27\u001b[0m model \u001b[38;5;241m=\u001b[39m \u001b[43mAutoModelForCausalLM\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfrom_pretrained\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 28\u001b[0m \u001b[43m \u001b[49m\u001b[43mbase_model\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 29\u001b[0m \u001b[43m \u001b[49m\u001b[43mquantization_config\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mbnb_config\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 30\u001b[0m \u001b[43m \u001b[49m\u001b[43mdevice_map\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mauto\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 31\u001b[0m \u001b[43m \u001b[49m\u001b[43mattn_implementation\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mattn_implementation\u001b[49m\n\u001b[1;32m 32\u001b[0m \u001b[43m)\u001b[49m\n\u001b[1;32m 33\u001b[0m model, tokenizer \u001b[38;5;241m=\u001b[39m setup_chat_format(model, tokenizer)\n\u001b[1;32m 34\u001b[0m model \u001b[38;5;241m=\u001b[39m prepare_model_for_kbit_training(model)\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/transformers/models/auto/auto_factory.py:563\u001b[0m, in \u001b[0;36m_BaseAutoModelClass.from_pretrained\u001b[0;34m(cls, pretrained_model_name_or_path, *model_args, **kwargs)\u001b[0m\n\u001b[1;32m 561\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mtype\u001b[39m(config) \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_model_mapping\u001b[38;5;241m.\u001b[39mkeys():\n\u001b[1;32m 562\u001b[0m model_class \u001b[38;5;241m=\u001b[39m _get_model_class(config, \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_model_mapping)\n\u001b[0;32m--> 563\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mmodel_class\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfrom_pretrained\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 564\u001b[0m \u001b[43m \u001b[49m\u001b[43mpretrained_model_name_or_path\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mmodel_args\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mconfig\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mconfig\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mhub_kwargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\n\u001b[1;32m 565\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 566\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[1;32m 567\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mUnrecognized configuration class \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mconfig\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__class__\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m for this kind of AutoModel: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 568\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mModel type should be one of \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m, \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;241m.\u001b[39mjoin(c\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mfor\u001b[39;00m\u001b[38;5;250m \u001b[39mc\u001b[38;5;250m \u001b[39m\u001b[38;5;129;01min\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_model_mapping\u001b[38;5;241m.\u001b[39mkeys())\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 569\u001b[0m )\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/transformers/modeling_utils.py:3627\u001b[0m, in \u001b[0;36mPreTrainedModel.from_pretrained\u001b[0;34m(cls, pretrained_model_name_or_path, config, cache_dir, ignore_mismatched_sizes, force_download, local_files_only, token, revision, use_safetensors, *model_args, **kwargs)\u001b[0m\n\u001b[1;32m 3624\u001b[0m device_map \u001b[38;5;241m=\u001b[39m infer_auto_device_map(model, dtype\u001b[38;5;241m=\u001b[39mtarget_dtype, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mdevice_map_kwargs)\n\u001b[1;32m 3626\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m hf_quantizer \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m-> 3627\u001b[0m \u001b[43mhf_quantizer\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mvalidate_environment\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdevice_map\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdevice_map\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 3629\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m device_map \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 3630\u001b[0m model\u001b[38;5;241m.\u001b[39mtie_weights()\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/transformers/quantizers/quantizer_bnb_4bit.py:86\u001b[0m, in \u001b[0;36mBnb4BitHfQuantizer.validate_environment\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 82\u001b[0m device_map_without_lm_head \u001b[38;5;241m=\u001b[39m {\n\u001b[1;32m 83\u001b[0m key: device_map[key] \u001b[38;5;28;01mfor\u001b[39;00m key \u001b[38;5;129;01min\u001b[39;00m device_map\u001b[38;5;241m.\u001b[39mkeys() \u001b[38;5;28;01mif\u001b[39;00m key \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodules_to_not_convert\n\u001b[1;32m 84\u001b[0m }\n\u001b[1;32m 85\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcpu\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01min\u001b[39;00m device_map_without_lm_head\u001b[38;5;241m.\u001b[39mvalues() \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdisk\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01min\u001b[39;00m device_map_without_lm_head\u001b[38;5;241m.\u001b[39mvalues():\n\u001b[0;32m---> 86\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[1;32m 87\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 88\u001b[0m \u001b[38;5;124;03m Some modules are dispatched on the CPU or the disk. Make sure you have enough GPU RAM to fit the\u001b[39;00m\n\u001b[1;32m 89\u001b[0m \u001b[38;5;124;03m quantized model. If you want to dispatch the model on the CPU or the disk while keeping these modules\u001b[39;00m\n\u001b[1;32m 90\u001b[0m \u001b[38;5;124;03m in 32-bit, you need to set `llm_int8_enable_fp32_cpu_offload=True` and pass a custom `device_map` to\u001b[39;00m\n\u001b[1;32m 91\u001b[0m \u001b[38;5;124;03m `from_pretrained`. Check\u001b[39;00m\n\u001b[1;32m 92\u001b[0m \u001b[38;5;124;03m https://huggingface.co/docs/transformers/main/en/main_classes/quantization#offload-between-cpu-and-gpu\u001b[39;00m\n\u001b[1;32m 93\u001b[0m \u001b[38;5;124;03m for more details.\u001b[39;00m\n\u001b[1;32m 94\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[1;32m 95\u001b[0m )\n\u001b[1;32m 97\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m version\u001b[38;5;241m.\u001b[39mparse(importlib\u001b[38;5;241m.\u001b[39mmetadata\u001b[38;5;241m.\u001b[39mversion(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mbitsandbytes\u001b[39m\u001b[38;5;124m\"\u001b[39m)) \u001b[38;5;241m<\u001b[39m version\u001b[38;5;241m.\u001b[39mparse(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m0.39.0\u001b[39m\u001b[38;5;124m\"\u001b[39m):\n\u001b[1;32m 98\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[1;32m 99\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mYou have a version of `bitsandbytes` that is not compatible with 4bit inference and training\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 100\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m make sure you have the latest version of `bitsandbytes` installed\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 101\u001b[0m )\n", + "\u001b[0;31mValueError\u001b[0m: \n Some modules are dispatched on the CPU or the disk. Make sure you have enough GPU RAM to fit the\n quantized model. If you want to dispatch the model on the CPU or the disk while keeping these modules\n in 32-bit, you need to set `llm_int8_enable_fp32_cpu_offload=True` and pass a custom `device_map` to\n `from_pretrained`. Check\n https://huggingface.co/docs/transformers/main/en/main_classes/quantization#offload-between-cpu-and-gpu\n for more details.\n " + ] + } + ], + "source": [ + "# Model\n", + "base_model = \"NousResearch/Meta-Llama-3-8B\"\n", + "new_model = \"OrpoLlama-3-8B\"\n", + "\n", + "# QLoRA config\n", + "bnb_config = BitsAndBytesConfig(\n", + " load_in_4bit=True,\n", + " bnb_4bit_quant_type=\"nf4\",\n", + " bnb_4bit_compute_dtype=torch_dtype,\n", + " bnb_4bit_use_double_quant=True,\n", + ")\n", + "\n", + "# LoRA config\n", + "peft_config = LoraConfig(\n", + " r=16,\n", + " lora_alpha=32,\n", + " lora_dropout=0.05,\n", + " bias=\"none\",\n", + " task_type=\"CAUSAL_LM\",\n", + " target_modules=['up_proj', 'down_proj', 'gate_proj', 'k_proj', 'q_proj', 'v_proj', 'o_proj']\n", + ")\n", + "\n", + "# Load tokenizer\n", + "tokenizer = AutoTokenizer.from_pretrained(base_model)\n", + "\n", + "# Load model\n", + "model = AutoModelForCausalLM.from_pretrained(\n", + " base_model,\n", + " quantization_config=bnb_config,\n", + " device_map=\"auto\",\n", + " attn_implementation=attn_implementation\n", + ")\n", + "model, tokenizer = setup_chat_format(model, tokenizer)\n", + "model = prepare_model_for_kbit_training(model)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "db4031a9-fcb1-4295-a9b7-1db11a753939", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5e41c9fc89cd476ea844f9076855f2ab", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Downloading data: 0%| | 0.00/115M [00:00 27\u001b[0m \u001b[43mtrainer\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtrain\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 28\u001b[0m trainer\u001b[38;5;241m.\u001b[39msave_model(new_model)\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/transformers/trainer.py:1859\u001b[0m, in \u001b[0;36mTrainer.train\u001b[0;34m(self, resume_from_checkpoint, trial, ignore_keys_for_eval, **kwargs)\u001b[0m\n\u001b[1;32m 1857\u001b[0m hf_hub_utils\u001b[38;5;241m.\u001b[39menable_progress_bars()\n\u001b[1;32m 1858\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 1859\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43minner_training_loop\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1860\u001b[0m \u001b[43m \u001b[49m\u001b[43margs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1861\u001b[0m \u001b[43m \u001b[49m\u001b[43mresume_from_checkpoint\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mresume_from_checkpoint\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1862\u001b[0m \u001b[43m \u001b[49m\u001b[43mtrial\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtrial\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1863\u001b[0m \u001b[43m \u001b[49m\u001b[43mignore_keys_for_eval\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mignore_keys_for_eval\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1864\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/transformers/trainer.py:2203\u001b[0m, in \u001b[0;36mTrainer._inner_training_loop\u001b[0;34m(self, batch_size, args, resume_from_checkpoint, trial, ignore_keys_for_eval)\u001b[0m\n\u001b[1;32m 2200\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcontrol \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcallback_handler\u001b[38;5;241m.\u001b[39mon_step_begin(args, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstate, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcontrol)\n\u001b[1;32m 2202\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39maccelerator\u001b[38;5;241m.\u001b[39maccumulate(model):\n\u001b[0;32m-> 2203\u001b[0m tr_loss_step \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtraining_step\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minputs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2205\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m (\n\u001b[1;32m 2206\u001b[0m args\u001b[38;5;241m.\u001b[39mlogging_nan_inf_filter\n\u001b[1;32m 2207\u001b[0m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m is_torch_xla_available()\n\u001b[1;32m 2208\u001b[0m \u001b[38;5;129;01mand\u001b[39;00m (torch\u001b[38;5;241m.\u001b[39misnan(tr_loss_step) \u001b[38;5;129;01mor\u001b[39;00m torch\u001b[38;5;241m.\u001b[39misinf(tr_loss_step))\n\u001b[1;32m 2209\u001b[0m ):\n\u001b[1;32m 2210\u001b[0m \u001b[38;5;66;03m# if loss is nan or inf simply add the average of previous logged losses\u001b[39;00m\n\u001b[1;32m 2211\u001b[0m tr_loss \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m tr_loss \u001b[38;5;241m/\u001b[39m (\u001b[38;5;241m1\u001b[39m \u001b[38;5;241m+\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstate\u001b[38;5;241m.\u001b[39mglobal_step \u001b[38;5;241m-\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_globalstep_last_logged)\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/transformers/trainer.py:3138\u001b[0m, in \u001b[0;36mTrainer.training_step\u001b[0;34m(self, model, inputs)\u001b[0m\n\u001b[1;32m 3135\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m loss_mb\u001b[38;5;241m.\u001b[39mreduce_mean()\u001b[38;5;241m.\u001b[39mdetach()\u001b[38;5;241m.\u001b[39mto(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39margs\u001b[38;5;241m.\u001b[39mdevice)\n\u001b[1;32m 3137\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcompute_loss_context_manager():\n\u001b[0;32m-> 3138\u001b[0m loss \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompute_loss\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minputs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 3140\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39margs\u001b[38;5;241m.\u001b[39mn_gpu \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m1\u001b[39m:\n\u001b[1;32m 3141\u001b[0m loss \u001b[38;5;241m=\u001b[39m loss\u001b[38;5;241m.\u001b[39mmean() \u001b[38;5;66;03m# mean() to average on multi-gpu parallel training\u001b[39;00m\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/trl/trainer/orpo_trainer.py:786\u001b[0m, in \u001b[0;36mORPOTrainer.compute_loss\u001b[0;34m(self, model, inputs, return_outputs)\u001b[0m\n\u001b[1;32m 783\u001b[0m compute_loss_context_manager \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39mcuda\u001b[38;5;241m.\u001b[39mamp\u001b[38;5;241m.\u001b[39mautocast \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_peft_has_been_casted_to_bf16 \u001b[38;5;28;01melse\u001b[39;00m nullcontext\n\u001b[1;32m 785\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m compute_loss_context_manager():\n\u001b[0;32m--> 786\u001b[0m loss, metrics \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_batch_loss_metrics\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minputs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtrain_eval\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtrain\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 788\u001b[0m \u001b[38;5;66;03m# force log the metrics\u001b[39;00m\n\u001b[1;32m 789\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstore_metrics(metrics, train_eval\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtrain\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/trl/trainer/orpo_trainer.py:746\u001b[0m, in \u001b[0;36mORPOTrainer.get_batch_loss_metrics\u001b[0;34m(self, model, batch, train_eval)\u001b[0m\n\u001b[1;32m 737\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Compute the ORPO loss and other metrics for the given batch of inputs for train or test.\"\"\"\u001b[39;00m\n\u001b[1;32m 738\u001b[0m metrics \u001b[38;5;241m=\u001b[39m {}\n\u001b[1;32m 740\u001b[0m (\n\u001b[1;32m 741\u001b[0m policy_chosen_logps,\n\u001b[1;32m 742\u001b[0m policy_rejected_logps,\n\u001b[1;32m 743\u001b[0m policy_chosen_logits,\n\u001b[1;32m 744\u001b[0m policy_rejected_logits,\n\u001b[1;32m 745\u001b[0m policy_nll_loss,\n\u001b[0;32m--> 746\u001b[0m ) \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconcatenated_forward\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbatch\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 748\u001b[0m losses, chosen_rewards, rejected_rewards, log_odds_ratio, log_odds_chosen \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39modds_ratio_loss(\n\u001b[1;32m 749\u001b[0m policy_chosen_logps, policy_rejected_logps\n\u001b[1;32m 750\u001b[0m )\n\u001b[1;32m 751\u001b[0m \u001b[38;5;66;03m# full ORPO loss\u001b[39;00m\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/trl/trainer/orpo_trainer.py:686\u001b[0m, in \u001b[0;36mORPOTrainer.concatenated_forward\u001b[0;34m(self, model, batch)\u001b[0m\n\u001b[1;32m 676\u001b[0m len_chosen \u001b[38;5;241m=\u001b[39m batch[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mchosen_labels\u001b[39m\u001b[38;5;124m\"\u001b[39m]\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m0\u001b[39m]\n\u001b[1;32m 678\u001b[0m model_kwargs \u001b[38;5;241m=\u001b[39m (\n\u001b[1;32m 679\u001b[0m {\n\u001b[1;32m 680\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdecoder_input_ids\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_shift_right(concatenated_batch[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mconcatenated_labels\u001b[39m\u001b[38;5;124m\"\u001b[39m]),\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 683\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m {}\n\u001b[1;32m 684\u001b[0m )\n\u001b[0;32m--> 686\u001b[0m outputs \u001b[38;5;241m=\u001b[39m \u001b[43mmodel\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 687\u001b[0m \u001b[43m \u001b[49m\u001b[43mconcatenated_batch\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mconcatenated_input_ids\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 688\u001b[0m \u001b[43m \u001b[49m\u001b[43mattention_mask\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mconcatenated_batch\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mconcatenated_attention_mask\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 689\u001b[0m \u001b[43m \u001b[49m\u001b[43muse_cache\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 690\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mmodel_kwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 691\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 692\u001b[0m all_logits \u001b[38;5;241m=\u001b[39m outputs\u001b[38;5;241m.\u001b[39mlogits\n\u001b[1;32m 694\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mcross_entropy_loss\u001b[39m(logits, labels):\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/torch/nn/modules/module.py:1518\u001b[0m, in \u001b[0;36mModule._wrapped_call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1516\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compiled_call_impl(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[1;32m 1517\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 1518\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/torch/nn/modules/module.py:1527\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1522\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[1;32m 1523\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[1;32m 1524\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks\n\u001b[1;32m 1525\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[1;32m 1526\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[0;32m-> 1527\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1529\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 1530\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/peft/peft_model.py:1129\u001b[0m, in \u001b[0;36mPeftModelForCausalLM.forward\u001b[0;34m(self, input_ids, attention_mask, inputs_embeds, labels, output_attentions, output_hidden_states, return_dict, task_ids, **kwargs)\u001b[0m\n\u001b[1;32m 1127\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_enable_peft_forward_hooks(\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 1128\u001b[0m kwargs \u001b[38;5;241m=\u001b[39m {k: v \u001b[38;5;28;01mfor\u001b[39;00m k, v \u001b[38;5;129;01min\u001b[39;00m kwargs\u001b[38;5;241m.\u001b[39mitems() \u001b[38;5;28;01mif\u001b[39;00m k \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mspecial_peft_forward_args}\n\u001b[0;32m-> 1129\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbase_model\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1130\u001b[0m \u001b[43m \u001b[49m\u001b[43minput_ids\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43minput_ids\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1131\u001b[0m \u001b[43m \u001b[49m\u001b[43mattention_mask\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mattention_mask\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1132\u001b[0m \u001b[43m \u001b[49m\u001b[43minputs_embeds\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43minputs_embeds\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1133\u001b[0m \u001b[43m \u001b[49m\u001b[43mlabels\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlabels\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1134\u001b[0m \u001b[43m \u001b[49m\u001b[43moutput_attentions\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moutput_attentions\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1135\u001b[0m \u001b[43m \u001b[49m\u001b[43moutput_hidden_states\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moutput_hidden_states\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1136\u001b[0m \u001b[43m \u001b[49m\u001b[43mreturn_dict\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mreturn_dict\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1137\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1138\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1140\u001b[0m batch_size \u001b[38;5;241m=\u001b[39m _get_batch_size(input_ids, inputs_embeds)\n\u001b[1;32m 1141\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m attention_mask \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 1142\u001b[0m \u001b[38;5;66;03m# concat prompt attention mask\u001b[39;00m\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/torch/nn/modules/module.py:1518\u001b[0m, in \u001b[0;36mModule._wrapped_call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1516\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compiled_call_impl(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[1;32m 1517\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 1518\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/torch/nn/modules/module.py:1527\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1522\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[1;32m 1523\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[1;32m 1524\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks\n\u001b[1;32m 1525\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[1;32m 1526\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[0;32m-> 1527\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1529\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 1530\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/peft/tuners/tuners_utils.py:161\u001b[0m, in \u001b[0;36mBaseTuner.forward\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 160\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mforward\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;241m*\u001b[39margs: Any, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: Any):\n\u001b[0;32m--> 161\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mforward\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/accelerate/hooks.py:166\u001b[0m, in \u001b[0;36madd_hook_to_module..new_forward\u001b[0;34m(module, *args, **kwargs)\u001b[0m\n\u001b[1;32m 164\u001b[0m output \u001b[38;5;241m=\u001b[39m module\u001b[38;5;241m.\u001b[39m_old_forward(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 165\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 166\u001b[0m output \u001b[38;5;241m=\u001b[39m \u001b[43mmodule\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_old_forward\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 167\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m module\u001b[38;5;241m.\u001b[39m_hf_hook\u001b[38;5;241m.\u001b[39mpost_forward(module, output)\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py:1208\u001b[0m, in \u001b[0;36mLlamaForCausalLM.forward\u001b[0;34m(self, input_ids, attention_mask, position_ids, past_key_values, inputs_embeds, labels, use_cache, output_attentions, output_hidden_states, return_dict, cache_position)\u001b[0m\n\u001b[1;32m 1205\u001b[0m return_dict \u001b[38;5;241m=\u001b[39m return_dict \u001b[38;5;28;01mif\u001b[39;00m return_dict \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconfig\u001b[38;5;241m.\u001b[39muse_return_dict\n\u001b[1;32m 1207\u001b[0m \u001b[38;5;66;03m# decoder outputs consists of (dec_features, layer_state, dec_hidden, dec_attn)\u001b[39;00m\n\u001b[0;32m-> 1208\u001b[0m outputs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmodel\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1209\u001b[0m \u001b[43m \u001b[49m\u001b[43minput_ids\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43minput_ids\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1210\u001b[0m \u001b[43m \u001b[49m\u001b[43mattention_mask\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mattention_mask\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1211\u001b[0m \u001b[43m \u001b[49m\u001b[43mposition_ids\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mposition_ids\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1212\u001b[0m \u001b[43m \u001b[49m\u001b[43mpast_key_values\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mpast_key_values\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1213\u001b[0m \u001b[43m \u001b[49m\u001b[43minputs_embeds\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43minputs_embeds\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1214\u001b[0m \u001b[43m \u001b[49m\u001b[43muse_cache\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43muse_cache\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1215\u001b[0m \u001b[43m \u001b[49m\u001b[43moutput_attentions\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moutput_attentions\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1216\u001b[0m \u001b[43m \u001b[49m\u001b[43moutput_hidden_states\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moutput_hidden_states\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1217\u001b[0m \u001b[43m \u001b[49m\u001b[43mreturn_dict\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mreturn_dict\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1218\u001b[0m \u001b[43m \u001b[49m\u001b[43mcache_position\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcache_position\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1219\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1221\u001b[0m hidden_states \u001b[38;5;241m=\u001b[39m outputs[\u001b[38;5;241m0\u001b[39m]\n\u001b[1;32m 1222\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconfig\u001b[38;5;241m.\u001b[39mpretraining_tp \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m1\u001b[39m:\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/torch/nn/modules/module.py:1518\u001b[0m, in \u001b[0;36mModule._wrapped_call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1516\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compiled_call_impl(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[1;32m 1517\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 1518\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/torch/nn/modules/module.py:1527\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1522\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[1;32m 1523\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[1;32m 1524\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks\n\u001b[1;32m 1525\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[1;32m 1526\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[0;32m-> 1527\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1529\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 1530\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/accelerate/hooks.py:166\u001b[0m, in \u001b[0;36madd_hook_to_module..new_forward\u001b[0;34m(module, *args, **kwargs)\u001b[0m\n\u001b[1;32m 164\u001b[0m output \u001b[38;5;241m=\u001b[39m module\u001b[38;5;241m.\u001b[39m_old_forward(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 165\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 166\u001b[0m output \u001b[38;5;241m=\u001b[39m \u001b[43mmodule\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_old_forward\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 167\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m module\u001b[38;5;241m.\u001b[39m_hf_hook\u001b[38;5;241m.\u001b[39mpost_forward(module, output)\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py:1007\u001b[0m, in \u001b[0;36mLlamaModel.forward\u001b[0;34m(self, input_ids, attention_mask, position_ids, past_key_values, inputs_embeds, use_cache, output_attentions, output_hidden_states, return_dict, cache_position)\u001b[0m\n\u001b[1;32m 1004\u001b[0m all_hidden_states \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m (hidden_states,)\n\u001b[1;32m 1006\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mgradient_checkpointing \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtraining:\n\u001b[0;32m-> 1007\u001b[0m layer_outputs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_gradient_checkpointing_func\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1008\u001b[0m \u001b[43m \u001b[49m\u001b[43mdecoder_layer\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__call__\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1009\u001b[0m \u001b[43m \u001b[49m\u001b[43mhidden_states\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1010\u001b[0m \u001b[43m \u001b[49m\u001b[43mcausal_mask\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1011\u001b[0m \u001b[43m \u001b[49m\u001b[43mposition_ids\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1012\u001b[0m \u001b[43m \u001b[49m\u001b[43mpast_key_values\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1013\u001b[0m \u001b[43m \u001b[49m\u001b[43moutput_attentions\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1014\u001b[0m \u001b[43m \u001b[49m\u001b[43muse_cache\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1015\u001b[0m \u001b[43m \u001b[49m\u001b[43mcache_position\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1016\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1017\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 1018\u001b[0m layer_outputs \u001b[38;5;241m=\u001b[39m decoder_layer(\n\u001b[1;32m 1019\u001b[0m hidden_states,\n\u001b[1;32m 1020\u001b[0m attention_mask\u001b[38;5;241m=\u001b[39mcausal_mask,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1025\u001b[0m cache_position\u001b[38;5;241m=\u001b[39mcache_position,\n\u001b[1;32m 1026\u001b[0m )\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/torch/_compile.py:24\u001b[0m, in \u001b[0;36m_disable_dynamo..inner\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(fn)\n\u001b[1;32m 21\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21minner\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 22\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mtorch\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_dynamo\u001b[39;00m\n\u001b[0;32m---> 24\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mtorch\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_dynamo\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdisable\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrecursive\u001b[49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/torch/_dynamo/eval_frame.py:328\u001b[0m, in \u001b[0;36m_TorchDynamoContext.__call__.._fn\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 326\u001b[0m dynamic_ctx\u001b[38;5;241m.\u001b[39m\u001b[38;5;21m__enter__\u001b[39m()\n\u001b[1;32m 327\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 328\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 329\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 330\u001b[0m set_eval_frame(prior)\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/torch/_dynamo/external_utils.py:17\u001b[0m, in \u001b[0;36mwrap_inline..inner\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(fn)\n\u001b[1;32m 16\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21minner\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[0;32m---> 17\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/torch/utils/checkpoint.py:451\u001b[0m, in \u001b[0;36mcheckpoint\u001b[0;34m(function, use_reentrant, context_fn, determinism_check, debug, *args, **kwargs)\u001b[0m\n\u001b[1;32m 446\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m context_fn \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m noop_context_fn \u001b[38;5;129;01mor\u001b[39;00m debug \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mFalse\u001b[39;00m:\n\u001b[1;32m 447\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[1;32m 448\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mPassing `context_fn` or `debug` is only supported when \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 449\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124muse_reentrant=False.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 450\u001b[0m )\n\u001b[0;32m--> 451\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mCheckpointFunction\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mapply\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfunction\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpreserve\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 452\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 453\u001b[0m gen \u001b[38;5;241m=\u001b[39m _checkpoint_without_reentrant_generator(\n\u001b[1;32m 454\u001b[0m function, preserve, context_fn, determinism_check, debug, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs\n\u001b[1;32m 455\u001b[0m )\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/torch/autograd/function.py:539\u001b[0m, in \u001b[0;36mFunction.apply\u001b[0;34m(cls, *args, **kwargs)\u001b[0m\n\u001b[1;32m 536\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m torch\u001b[38;5;241m.\u001b[39m_C\u001b[38;5;241m.\u001b[39m_are_functorch_transforms_active():\n\u001b[1;32m 537\u001b[0m \u001b[38;5;66;03m# See NOTE: [functorch vjp and autograd interaction]\u001b[39;00m\n\u001b[1;32m 538\u001b[0m args \u001b[38;5;241m=\u001b[39m _functorch\u001b[38;5;241m.\u001b[39mutils\u001b[38;5;241m.\u001b[39munwrap_dead_wrappers(args)\n\u001b[0;32m--> 539\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mapply\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[1;32m 541\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39msetup_context \u001b[38;5;241m==\u001b[39m _SingleLevelFunction\u001b[38;5;241m.\u001b[39msetup_context:\n\u001b[1;32m 542\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mRuntimeError\u001b[39;00m(\n\u001b[1;32m 543\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mIn order to use an autograd.Function with functorch transforms \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 544\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m(vmap, grad, jvp, jacrev, ...), it must override the setup_context \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 545\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mstaticmethod. For more details, please see \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 546\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhttps://pytorch.org/docs/master/notes/extending.func.html\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 547\u001b[0m )\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/torch/utils/checkpoint.py:230\u001b[0m, in \u001b[0;36mCheckpointFunction.forward\u001b[0;34m(ctx, run_function, preserve_rng_state, *args)\u001b[0m\n\u001b[1;32m 227\u001b[0m ctx\u001b[38;5;241m.\u001b[39msave_for_backward(\u001b[38;5;241m*\u001b[39mtensor_inputs)\n\u001b[1;32m 229\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m torch\u001b[38;5;241m.\u001b[39mno_grad():\n\u001b[0;32m--> 230\u001b[0m outputs \u001b[38;5;241m=\u001b[39m \u001b[43mrun_function\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 231\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m outputs\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/torch/nn/modules/module.py:1518\u001b[0m, in \u001b[0;36mModule._wrapped_call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1516\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compiled_call_impl(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[1;32m 1517\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 1518\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/torch/nn/modules/module.py:1527\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1522\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[1;32m 1523\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[1;32m 1524\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks\n\u001b[1;32m 1525\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[1;32m 1526\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[0;32m-> 1527\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1529\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 1530\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/accelerate/hooks.py:166\u001b[0m, in \u001b[0;36madd_hook_to_module..new_forward\u001b[0;34m(module, *args, **kwargs)\u001b[0m\n\u001b[1;32m 164\u001b[0m output \u001b[38;5;241m=\u001b[39m module\u001b[38;5;241m.\u001b[39m_old_forward(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 165\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 166\u001b[0m output \u001b[38;5;241m=\u001b[39m \u001b[43mmodule\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_old_forward\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 167\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m module\u001b[38;5;241m.\u001b[39m_hf_hook\u001b[38;5;241m.\u001b[39mpost_forward(module, output)\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py:741\u001b[0m, in \u001b[0;36mLlamaDecoderLayer.forward\u001b[0;34m(self, hidden_states, attention_mask, position_ids, past_key_value, output_attentions, use_cache, cache_position, **kwargs)\u001b[0m\n\u001b[1;32m 738\u001b[0m hidden_states \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39minput_layernorm(hidden_states)\n\u001b[1;32m 740\u001b[0m \u001b[38;5;66;03m# Self Attention\u001b[39;00m\n\u001b[0;32m--> 741\u001b[0m hidden_states, self_attn_weights, present_key_value \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mself_attn\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 742\u001b[0m \u001b[43m \u001b[49m\u001b[43mhidden_states\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mhidden_states\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 743\u001b[0m \u001b[43m \u001b[49m\u001b[43mattention_mask\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mattention_mask\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 744\u001b[0m \u001b[43m \u001b[49m\u001b[43mposition_ids\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mposition_ids\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 745\u001b[0m \u001b[43m \u001b[49m\u001b[43mpast_key_value\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mpast_key_value\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 746\u001b[0m \u001b[43m \u001b[49m\u001b[43moutput_attentions\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moutput_attentions\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 747\u001b[0m \u001b[43m \u001b[49m\u001b[43muse_cache\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43muse_cache\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 748\u001b[0m \u001b[43m \u001b[49m\u001b[43mcache_position\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcache_position\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 749\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 750\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 751\u001b[0m hidden_states \u001b[38;5;241m=\u001b[39m residual \u001b[38;5;241m+\u001b[39m hidden_states\n\u001b[1;32m 753\u001b[0m \u001b[38;5;66;03m# Fully Connected\u001b[39;00m\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/torch/nn/modules/module.py:1518\u001b[0m, in \u001b[0;36mModule._wrapped_call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1516\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compiled_call_impl(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[1;32m 1517\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 1518\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/torch/nn/modules/module.py:1527\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1522\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[1;32m 1523\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[1;32m 1524\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks\n\u001b[1;32m 1525\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[1;32m 1526\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[0;32m-> 1527\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1529\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 1530\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/accelerate/hooks.py:166\u001b[0m, in \u001b[0;36madd_hook_to_module..new_forward\u001b[0;34m(module, *args, **kwargs)\u001b[0m\n\u001b[1;32m 164\u001b[0m output \u001b[38;5;241m=\u001b[39m module\u001b[38;5;241m.\u001b[39m_old_forward(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 165\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 166\u001b[0m output \u001b[38;5;241m=\u001b[39m \u001b[43mmodule\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_old_forward\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 167\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m module\u001b[38;5;241m.\u001b[39m_hf_hook\u001b[38;5;241m.\u001b[39mpost_forward(module, output)\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py:490\u001b[0m, in \u001b[0;36mLlamaFlashAttention2.forward\u001b[0;34m(self, hidden_states, attention_mask, position_ids, past_key_value, output_attentions, use_cache, cache_position, **kwargs)\u001b[0m\n\u001b[1;32m 487\u001b[0m key_states \u001b[38;5;241m=\u001b[39m key_states\u001b[38;5;241m.\u001b[39mto(target_dtype)\n\u001b[1;32m 488\u001b[0m value_states \u001b[38;5;241m=\u001b[39m value_states\u001b[38;5;241m.\u001b[39mto(target_dtype)\n\u001b[0;32m--> 490\u001b[0m attn_output \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_flash_attention_forward\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 491\u001b[0m \u001b[43m \u001b[49m\u001b[43mquery_states\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkey_states\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mvalue_states\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mattention_mask\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mq_len\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdropout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdropout_rate\u001b[49m\n\u001b[1;32m 492\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 494\u001b[0m attn_output \u001b[38;5;241m=\u001b[39m attn_output\u001b[38;5;241m.\u001b[39mreshape(bsz, q_len, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhidden_size)\u001b[38;5;241m.\u001b[39mcontiguous()\n\u001b[1;32m 495\u001b[0m attn_output \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mo_proj(attn_output)\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py:533\u001b[0m, in \u001b[0;36mLlamaFlashAttention2._flash_attention_forward\u001b[0;34m(self, query_states, key_states, value_states, attention_mask, query_length, dropout, softmax_scale)\u001b[0m\n\u001b[1;32m 531\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m attention_mask \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 532\u001b[0m batch_size \u001b[38;5;241m=\u001b[39m query_states\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m0\u001b[39m]\n\u001b[0;32m--> 533\u001b[0m query_states, key_states, value_states, indices_q, cu_seq_lens, max_seq_lens \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_upad_input\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 534\u001b[0m \u001b[43m \u001b[49m\u001b[43mquery_states\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkey_states\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mvalue_states\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mattention_mask\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mquery_length\u001b[49m\n\u001b[1;32m 535\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 537\u001b[0m cu_seqlens_q, cu_seqlens_k \u001b[38;5;241m=\u001b[39m cu_seq_lens\n\u001b[1;32m 538\u001b[0m max_seqlen_in_batch_q, max_seqlen_in_batch_k \u001b[38;5;241m=\u001b[39m max_seq_lens\n", + "File \u001b[0;32m~/anaconda3/envs/llama3/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py:565\u001b[0m, in \u001b[0;36mLlamaFlashAttention2._upad_input\u001b[0;34m(self, query_layer, key_layer, value_layer, attention_mask, query_length)\u001b[0m\n\u001b[1;32m 562\u001b[0m indices_k, cu_seqlens_k, max_seqlen_in_batch_k \u001b[38;5;241m=\u001b[39m _get_unpad_data(attention_mask)\n\u001b[1;32m 563\u001b[0m batch_size, kv_seq_len, num_key_value_heads, head_dim \u001b[38;5;241m=\u001b[39m key_layer\u001b[38;5;241m.\u001b[39mshape\n\u001b[0;32m--> 565\u001b[0m key_layer \u001b[38;5;241m=\u001b[39m \u001b[43mindex_first_axis\u001b[49m(\n\u001b[1;32m 566\u001b[0m key_layer\u001b[38;5;241m.\u001b[39mreshape(batch_size \u001b[38;5;241m*\u001b[39m kv_seq_len, num_key_value_heads, head_dim), indices_k\n\u001b[1;32m 567\u001b[0m )\n\u001b[1;32m 568\u001b[0m value_layer \u001b[38;5;241m=\u001b[39m index_first_axis(\n\u001b[1;32m 569\u001b[0m value_layer\u001b[38;5;241m.\u001b[39mreshape(batch_size \u001b[38;5;241m*\u001b[39m kv_seq_len, num_key_value_heads, head_dim), indices_k\n\u001b[1;32m 570\u001b[0m )\n\u001b[1;32m 571\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m query_length \u001b[38;5;241m==\u001b[39m kv_seq_len:\n", + "\u001b[0;31mNameError\u001b[0m: name 'index_first_axis' is not defined" + ] + } + ], + "source": [ + "orpo_args = ORPOConfig(\n", + " learning_rate=8e-6,\n", + " beta=0.1,\n", + " lr_scheduler_type=\"linear\",\n", + " max_length=1024,\n", + " max_prompt_length=512,\n", + " per_device_train_batch_size=2,\n", + " per_device_eval_batch_size=2,\n", + " gradient_accumulation_steps=4,\n", + " optim=\"paged_adamw_8bit\",\n", + " num_train_epochs=1,\n", + " evaluation_strategy=\"steps\",\n", + " eval_steps=0.2,\n", + " logging_steps=1,\n", + " warmup_steps=10,\n", + " output_dir=\"./results/\",\n", + ")\n", + "\n", + "trainer = ORPOTrainer(\n", + " model=model,\n", + " args=orpo_args,\n", + " train_dataset=dataset[\"train\"],\n", + " eval_dataset=dataset[\"test\"],\n", + " peft_config=peft_config,\n", + " tokenizer=tokenizer,\n", + ")\n", + "trainer.train()\n", + "trainer.save_model(new_model)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b2fafda4-7fd6-4612-9e72-ffe106e232fd", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/llama3/requirements.txt b/llama3/requirements.txt new file mode 100644 index 0000000..acd4a29 --- /dev/null +++ b/llama3/requirements.txt @@ -0,0 +1,6 @@ +transformers +datasets +accelerate +peft +trl +bitsandbytes diff --git a/phi3/requirements.txt b/phi3/requirements.txt new file mode 100644 index 0000000..02a56f0 --- /dev/null +++ b/phi3/requirements.txt @@ -0,0 +1,3 @@ +datasets +trl +transformers \ No newline at end of file diff --git a/phi3/script/sft.py b/phi3/script/sft.py new file mode 100644 index 0000000..1e7e8bd --- /dev/null +++ b/phi3/script/sft.py @@ -0,0 +1,129 @@ +import torch +from datasets import load_dataset +from trl import SFTTrainer +from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments + +""" +A simple example on using SFTTrainer and Accelerate to finetune Phi-3 models. For +a more advanced example, please follow HF alignment-handbook/scripts/run_sft.py +1. Install accelerate: + conda install -c conda-forge accelerate +2. Setup accelerate config: + accelerate config +to simply use all the GPUs available: + python -c "from accelerate.utils import write_basic_config; write_basic_config(mixed_precision='bf16')" +check accelerate config: + accelerate env +3. Run the code: + accelerate launch sample_finetune.py +""" + +################### +# Hyper-parameters +################### +args = { + "bf16": True, + "do_eval": False, + "learning_rate": 5.0e-06, + "log_level": "info", + "logging_steps": 20, + "logging_strategy": "steps", + "lr_scheduler_type": "cosine", + "num_train_epochs": 1, + "max_steps": -1, + "output_dir": "./checkpoint_dir", + "overwrite_output_dir": True, + "per_device_eval_batch_size": 4, + "per_device_train_batch_size": 8, + "remove_unused_columns": True, + "save_steps": 100, + "save_total_limit": 1, + "seed": 0, + "gradient_checkpointing": True, + "gradient_checkpointing_kwargs":{"use_reentrant": False}, + "gradient_accumulation_steps": 1, + "warmup_ratio": 0.2, + } + +training_args = TrainingArguments(**args) + + +################ +# Modle Loading +################ +checkpoint_path = "microsoft/Phi-3-mini-4k-instruct" +# checkpoint_path = "microsoft/Phi-3-mini-128k-instruct" +model_kwargs = dict( + use_cache=False, + trust_remote_code=True, + attn_implementation="flash_attention_2", # loading the model with flash-attenstion support + torch_dtype=torch.bfloat16, + device_map="cuda", +) +model = AutoModelForCausalLM.from_pretrained(checkpoint_path, **model_kwargs) +tokenizer = AutoTokenizer.from_pretrained(checkpoint_path) +tokenizer.pad_token = tokenizer.unk_token # use unk rather than eos token to prevent endless generation +tokenizer.pad_token_id = tokenizer.convert_tokens_to_ids(tokenizer.pad_token) +tokenizer.padding_side = 'right' + +################## +# Data Processing +################## +def apply_chat_template( + example, + tokenizer, +): + messages = example["messages"] + # Add an empty system message if there is none + if messages[0]["role"] != "system": + messages.insert(0, {"role": "system", "content": ""}) + example["text"] = tokenizer.apply_chat_template( + messages, tokenize=False, add_generation_prompt=False) + return example + +raw_dataset = load_dataset("HuggingFaceH4/ultrachat_200k") +column_names = list(raw_dataset["train_sft"].features) + +processed_dataset = raw_dataset.map( + apply_chat_template, + fn_kwargs={"tokenizer": tokenizer}, + num_proc=12, + remove_columns=column_names, + desc="Applying chat template", +) +train_dataset = processed_dataset["train_sft"] +eval_dataset = processed_dataset["test_sft"] + + +########### +# Training +########### +trainer = SFTTrainer( + model=model, + args=training_args, + train_dataset=train_dataset, + eval_dataset=eval_dataset, + max_seq_length=2048, + dataset_text_field="text", + tokenizer=tokenizer, + packing=True +) +train_result = trainer.train() +metrics = train_result.metrics +trainer.log_metrics("train", metrics) +trainer.save_metrics("train", metrics) +trainer.save_state() + +############# +# Evaluation +############# +tokenizer.padding_side = 'left' +metrics = trainer.evaluate() +metrics["eval_samples"] = len(eval_dataset) +trainer.log_metrics("eval", metrics) +trainer.save_metrics("eval", metrics) + +############ +# Save model +############ +trainer.save_model(training_args.output_dir) From 772e8ae522b61699d8437d3e1f73133ab6f9bf7a Mon Sep 17 00:00:00 2001 From: jazelly Date: Thu, 2 May 2024 21:31:29 +0930 Subject: [PATCH 04/96] chore: add submodule slowllama --- .gitmodules | 3 +++ mac/slowllama | 1 + 2 files changed, 4 insertions(+) create mode 100644 .gitmodules create mode 160000 mac/slowllama diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..b58f250 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "mac/slowllama"] + path = mac/slowllama + url = git@github.com:okuvshynov/slowllama.git diff --git a/mac/slowllama b/mac/slowllama new file mode 160000 index 0000000..0d8a4cf --- /dev/null +++ b/mac/slowllama @@ -0,0 +1 @@ +Subproject commit 0d8a4cf5dc8767db81d019812f054a77ce68b31e From f2c1b89c045f69308289fe77c9a11a2d1585a7c0 Mon Sep 17 00:00:00 2001 From: jazelly Date: Thu, 2 May 2024 22:33:13 +0930 Subject: [PATCH 05/96] fix: path issues in slowllama --- .gitignore | 3 ++- .gitmodules | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 76523d7..3d282ae 100644 --- a/.gitignore +++ b/.gitignore @@ -160,4 +160,5 @@ cython_debug/ # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ -results/ \ No newline at end of file +results/ +llama-2-7b/ \ No newline at end of file diff --git a/.gitmodules b/.gitmodules index b58f250..23bad3e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "mac/slowllama"] path = mac/slowllama - url = git@github.com:okuvshynov/slowllama.git + url = git@github.com:jazelly/slowllama.git From 4999f7d272c3504b6fdfe099d18a5a5613f25606 Mon Sep 17 00:00:00 2001 From: jazelly Date: Sat, 4 May 2024 20:43:57 +0930 Subject: [PATCH 06/96] ignore update --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 76523d7..f265664 100644 --- a/.gitignore +++ b/.gitignore @@ -160,4 +160,5 @@ cython_debug/ # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ +checkpoint_dir/ results/ \ No newline at end of file From ffb34bdce96c63dd20323212fa1c89c4b621c8de Mon Sep 17 00:00:00 2001 From: jazelly Date: Sun, 5 May 2024 18:02:29 +0930 Subject: [PATCH 07/96] feat: support finetune llama in gguf --- .gitmodules | 3 + llama-gguf/README.md | 75 ++ llama-gguf/llama.cpp | 1 + llama-gguf/shakespeare.txt | 2469 ++++++++++++++++++++++++++++++++++++ 4 files changed, 2548 insertions(+) create mode 100644 llama-gguf/README.md create mode 160000 llama-gguf/llama.cpp create mode 100644 llama-gguf/shakespeare.txt diff --git a/.gitmodules b/.gitmodules index 23bad3e..98a3545 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "mac/slowllama"] path = mac/slowllama url = git@github.com:jazelly/slowllama.git +[submodule "llama-gguf/llama.cpp"] + path = llama-gguf/llama.cpp + url = git@github.com:ggerganov/llama.cpp.git diff --git a/llama-gguf/README.md b/llama-gguf/README.md new file mode 100644 index 0000000..87123b5 --- /dev/null +++ b/llama-gguf/README.md @@ -0,0 +1,75 @@ +## Finetune LLAMA based model in GGUF format + +We will utilize `llama.cpp` to finetune a GGUF model, so that you can customize it and inference it in a programmatic way. `llama.cpp` is a pure C/C++ implementation of LLAMA model with 0 denpendencies, +So you can run this on any OS. + +## Setup + +- First, init the submodule if you haven't. + ``` + git submodule update --init + cd llama.cpp + ``` + +- Using `make`: + - On Linux or MacOS: + + ```bash + make + ``` + + **Note**: for `Debug` builds, run `make LLAMA_DEBUG=1` + + - On Windows: + + 1. Download the latest fortran version of [w64devkit](https://github.com/skeeto/w64devkit/releases). + 2. Extract `w64devkit` on your pc. + 3. Run `w64devkit.exe`. + 4. Use the `cd` command to reach the `llama.cpp` folder. + 5. From here you can run: + ```bash + make + ``` + +- Using `CMake`: + + ```bash + cmake -B build + cmake --build build --config Release + ``` + + **Note**: for `Debug` builds, there are two cases: + + - Single-config generators (e.g. default = `Unix Makefiles`; note that they just ignore the `--config` flag): + + ```bash + cmake -B build -DCMAKE_BUILD_TYPE=Debug + cmake --build build + ``` + + - Multi-config generators (`-G` param set to Visual Studio, XCode...): + + ```bash + cmake -B build -G "Xcode" + cmake --build build --config Debug + ``` + +- Once the build is done, you can do an example finetuning like this + ``` + cd build + + # get training data + wget https://raw.githubusercontent.com/brunoklein99/deep-learning-notes/master/shakespeare.txt + + # download a gguf model + huggingface-cli login + huggingface-cli download QuantFactory/Meta-Llama-3-8B-GGUF Meta-Llama-3-8B.Q8_0.gguf --local-dir models + + # start training + ./bin/finetune --model-base models/Meta-Llama-3-8B.Q8_0.gguf --checkpoint-in chk-lora-open-llama-3b-v2-q8_0-shakespeare-LATEST.gguf --checkpoint-out chk-lora-open-llama-3b-v2-q8_0-shakespeare-ITERATION.gguf --lora-out lora-open-llama-3b-v2-q8_0-shakespeare-ITERATION.bin --train-data "shakespeare.txt" --save-every 10 --threads 6 --adam-iter 30 --batch 4 --ctx 6 --use-checkpointing + ``` + +- For more help + ``` + ./bin/finetune --help + ``` \ No newline at end of file diff --git a/llama-gguf/llama.cpp b/llama-gguf/llama.cpp new file mode 160000 index 0000000..03fb8a0 --- /dev/null +++ b/llama-gguf/llama.cpp @@ -0,0 +1 @@ +Subproject commit 03fb8a002df2e96104f9e06de9c78d2a8ed91e92 diff --git a/llama-gguf/shakespeare.txt b/llama-gguf/shakespeare.txt new file mode 100644 index 0000000..dce66b2 --- /dev/null +++ b/llama-gguf/shakespeare.txt @@ -0,0 +1,2469 @@ +THE SONNETS + +by William Shakespeare + +From fairest creatures we desire increase, +That thereby beauty's rose might never die, +But as the riper should by time decease, +His tender heir might bear his memory: +But thou contracted to thine own bright eyes, +Feed'st thy light's flame with self-substantial fuel, +Making a famine where abundance lies, +Thy self thy foe, to thy sweet self too cruel: +Thou that art now the world's fresh ornament, +And only herald to the gaudy spring, +Within thine own bud buriest thy content, +And tender churl mak'st waste in niggarding: +Pity the world, or else this glutton be, +To eat the world's due, by the grave and thee. + +When forty winters shall besiege thy brow, +And dig deep trenches in thy beauty's field, +Thy youth's proud livery so gazed on now, +Will be a tattered weed of small worth held: +Then being asked, where all thy beauty lies, +Where all the treasure of thy lusty days; +To say within thine own deep sunken eyes, +Were an all-eating shame, and thriftless praise. +How much more praise deserved thy beauty's use, +If thou couldst answer 'This fair child of mine +Shall sum my count, and make my old excuse' +Proving his beauty by succession thine. +This were to be new made when thou art old, +And see thy blood warm when thou feel'st it cold. + +Look in thy glass and tell the face thou viewest, +Now is the time that face should form another, +Whose fresh repair if now thou not renewest, +Thou dost beguile the world, unbless some mother. +For where is she so fair whose uneared womb +Disdains the tillage of thy husbandry? +Or who is he so fond will be the tomb, +Of his self-love to stop posterity? +Thou art thy mother's glass and she in thee +Calls back the lovely April of her prime, +So thou through windows of thine age shalt see, +Despite of wrinkles this thy golden time. +But if thou live remembered not to be, +Die single and thine image dies with thee. + +Unthrifty loveliness why dost thou spend, +Upon thy self thy beauty's legacy? +Nature's bequest gives nothing but doth lend, +And being frank she lends to those are free: +Then beauteous niggard why dost thou abuse, +The bounteous largess given thee to give? +Profitless usurer why dost thou use +So great a sum of sums yet canst not live? +For having traffic with thy self alone, +Thou of thy self thy sweet self dost deceive, +Then how when nature calls thee to be gone, +What acceptable audit canst thou leave? +Thy unused beauty must be tombed with thee, +Which used lives th' executor to be. + +Those hours that with gentle work did frame +The lovely gaze where every eye doth dwell +Will play the tyrants to the very same, +And that unfair which fairly doth excel: +For never-resting time leads summer on +To hideous winter and confounds him there, +Sap checked with frost and lusty leaves quite gone, +Beauty o'er-snowed and bareness every where: +Then were not summer's distillation left +A liquid prisoner pent in walls of glass, +Beauty's effect with beauty were bereft, +Nor it nor no remembrance what it was. +But flowers distilled though they with winter meet, +Leese but their show, their substance still lives sweet. + +Then let not winter's ragged hand deface, +In thee thy summer ere thou be distilled: +Make sweet some vial; treasure thou some place, +With beauty's treasure ere it be self-killed: +That use is not forbidden usury, +Which happies those that pay the willing loan; +That's for thy self to breed another thee, +Or ten times happier be it ten for one, +Ten times thy self were happier than thou art, +If ten of thine ten times refigured thee: +Then what could death do if thou shouldst depart, +Leaving thee living in posterity? +Be not self-willed for thou art much too fair, +To be death's conquest and make worms thine heir. + +Lo in the orient when the gracious light +Lifts up his burning head, each under eye +Doth homage to his new-appearing sight, +Serving with looks his sacred majesty, +And having climbed the steep-up heavenly hill, +Resembling strong youth in his middle age, +Yet mortal looks adore his beauty still, +Attending on his golden pilgrimage: +But when from highmost pitch with weary car, +Like feeble age he reeleth from the day, +The eyes (fore duteous) now converted are +From his low tract and look another way: +So thou, thy self out-going in thy noon: +Unlooked on diest unless thou get a son. + +Music to hear, why hear'st thou music sadly? +Sweets with sweets war not, joy delights in joy: +Why lov'st thou that which thou receiv'st not gladly, +Or else receiv'st with pleasure thine annoy? +If the true concord of well-tuned sounds, +By unions married do offend thine ear, +They do but sweetly chide thee, who confounds +In singleness the parts that thou shouldst bear: +Mark how one string sweet husband to another, +Strikes each in each by mutual ordering; +Resembling sire, and child, and happy mother, +Who all in one, one pleasing note do sing: +Whose speechless song being many, seeming one, +Sings this to thee, 'Thou single wilt prove none'. + +Is it for fear to wet a widow's eye, +That thou consum'st thy self in single life? +Ah, if thou issueless shalt hap to die, +The world will wail thee like a makeless wife, +The world will be thy widow and still weep, +That thou no form of thee hast left behind, +When every private widow well may keep, +By children's eyes, her husband's shape in mind: +Look what an unthrift in the world doth spend +Shifts but his place, for still the world enjoys it; +But beauty's waste hath in the world an end, +And kept unused the user so destroys it: +No love toward others in that bosom sits +That on himself such murd'rous shame commits. + +For shame deny that thou bear'st love to any +Who for thy self art so unprovident. +Grant if thou wilt, thou art beloved of many, +But that thou none lov'st is most evident: +For thou art so possessed with murd'rous hate, +That 'gainst thy self thou stick'st not to conspire, +Seeking that beauteous roof to ruinate +Which to repair should be thy chief desire: +O change thy thought, that I may change my mind, +Shall hate be fairer lodged than gentle love? +Be as thy presence is gracious and kind, +Or to thy self at least kind-hearted prove, +Make thee another self for love of me, +That beauty still may live in thine or thee. + +As fast as thou shalt wane so fast thou grow'st, +In one of thine, from that which thou departest, +And that fresh blood which youngly thou bestow'st, +Thou mayst call thine, when thou from youth convertest, +Herein lives wisdom, beauty, and increase, +Without this folly, age, and cold decay, +If all were minded so, the times should cease, +And threescore year would make the world away: +Let those whom nature hath not made for store, +Harsh, featureless, and rude, barrenly perish: +Look whom she best endowed, she gave thee more; +Which bounteous gift thou shouldst in bounty cherish: +She carved thee for her seal, and meant thereby, +Thou shouldst print more, not let that copy die. + +When I do count the clock that tells the time, +And see the brave day sunk in hideous night, +When I behold the violet past prime, +And sable curls all silvered o'er with white: +When lofty trees I see barren of leaves, +Which erst from heat did canopy the herd +And summer's green all girded up in sheaves +Borne on the bier with white and bristly beard: +Then of thy beauty do I question make +That thou among the wastes of time must go, +Since sweets and beauties do themselves forsake, +And die as fast as they see others grow, +And nothing 'gainst Time's scythe can make defence +Save breed to brave him, when he takes thee hence. + +O that you were your self, but love you are +No longer yours, than you your self here live, +Against this coming end you should prepare, +And your sweet semblance to some other give. +So should that beauty which you hold in lease +Find no determination, then you were +Your self again after your self's decease, +When your sweet issue your sweet form should bear. +Who lets so fair a house fall to decay, +Which husbandry in honour might uphold, +Against the stormy gusts of winter's day +And barren rage of death's eternal cold? +O none but unthrifts, dear my love you know, +You had a father, let your son say so. + +Not from the stars do I my judgement pluck, +And yet methinks I have astronomy, +But not to tell of good, or evil luck, +Of plagues, of dearths, or seasons' quality, +Nor can I fortune to brief minutes tell; +Pointing to each his thunder, rain and wind, +Or say with princes if it shall go well +By oft predict that I in heaven find. +But from thine eyes my knowledge I derive, +And constant stars in them I read such art +As truth and beauty shall together thrive +If from thy self, to store thou wouldst convert: +Or else of thee this I prognosticate, +Thy end is truth's and beauty's doom and date. + +When I consider every thing that grows +Holds in perfection but a little moment. +That this huge stage presenteth nought but shows +Whereon the stars in secret influence comment. +When I perceive that men as plants increase, +Cheered and checked even by the self-same sky: +Vaunt in their youthful sap, at height decrease, +And wear their brave state out of memory. +Then the conceit of this inconstant stay, +Sets you most rich in youth before my sight, +Where wasteful time debateth with decay +To change your day of youth to sullied night, +And all in war with Time for love of you, +As he takes from you, I engraft you new. + +But wherefore do not you a mightier way +Make war upon this bloody tyrant Time? +And fortify your self in your decay +With means more blessed than my barren rhyme? +Now stand you on the top of happy hours, +And many maiden gardens yet unset, +With virtuous wish would bear you living flowers, +Much liker than your painted counterfeit: +So should the lines of life that life repair +Which this (Time's pencil) or my pupil pen +Neither in inward worth nor outward fair +Can make you live your self in eyes of men. +To give away your self, keeps your self still, +And you must live drawn by your own sweet skill. + +Who will believe my verse in time to come +If it were filled with your most high deserts? +Though yet heaven knows it is but as a tomb +Which hides your life, and shows not half your parts: +If I could write the beauty of your eyes, +And in fresh numbers number all your graces, +The age to come would say this poet lies, +Such heavenly touches ne'er touched earthly faces. +So should my papers (yellowed with their age) +Be scorned, like old men of less truth than tongue, +And your true rights be termed a poet's rage, +And stretched metre of an antique song. +But were some child of yours alive that time, +You should live twice in it, and in my rhyme. + +Shall I compare thee to a summer's day? +Thou art more lovely and more temperate: +Rough winds do shake the darling buds of May, +And summer's lease hath all too short a date: +Sometime too hot the eye of heaven shines, +And often is his gold complexion dimmed, +And every fair from fair sometime declines, +By chance, or nature's changing course untrimmed: +But thy eternal summer shall not fade, +Nor lose possession of that fair thou ow'st, +Nor shall death brag thou wand'rest in his shade, +When in eternal lines to time thou grow'st, +So long as men can breathe or eyes can see, +So long lives this, and this gives life to thee. + +Devouring Time blunt thou the lion's paws, +And make the earth devour her own sweet brood, +Pluck the keen teeth from the fierce tiger's jaws, +And burn the long-lived phoenix, in her blood, +Make glad and sorry seasons as thou fleet'st, +And do whate'er thou wilt swift-footed Time +To the wide world and all her fading sweets: +But I forbid thee one most heinous crime, +O carve not with thy hours my love's fair brow, +Nor draw no lines there with thine antique pen, +Him in thy course untainted do allow, +For beauty's pattern to succeeding men. +Yet do thy worst old Time: despite thy wrong, +My love shall in my verse ever live young. + +A woman's face with nature's own hand painted, +Hast thou the master mistress of my passion, +A woman's gentle heart but not acquainted +With shifting change as is false women's fashion, +An eye more bright than theirs, less false in rolling: +Gilding the object whereupon it gazeth, +A man in hue all hues in his controlling, +Which steals men's eyes and women's souls amazeth. +And for a woman wert thou first created, +Till nature as she wrought thee fell a-doting, +And by addition me of thee defeated, +By adding one thing to my purpose nothing. +But since she pricked thee out for women's pleasure, +Mine be thy love and thy love's use their treasure. + +So is it not with me as with that muse, +Stirred by a painted beauty to his verse, +Who heaven it self for ornament doth use, +And every fair with his fair doth rehearse, +Making a couplement of proud compare +With sun and moon, with earth and sea's rich gems: +With April's first-born flowers and all things rare, +That heaven's air in this huge rondure hems. +O let me true in love but truly write, +And then believe me, my love is as fair, +As any mother's child, though not so bright +As those gold candles fixed in heaven's air: +Let them say more that like of hearsay well, +I will not praise that purpose not to sell. + +My glass shall not persuade me I am old, +So long as youth and thou are of one date, +But when in thee time's furrows I behold, +Then look I death my days should expiate. +For all that beauty that doth cover thee, +Is but the seemly raiment of my heart, +Which in thy breast doth live, as thine in me, +How can I then be elder than thou art? +O therefore love be of thyself so wary, +As I not for my self, but for thee will, +Bearing thy heart which I will keep so chary +As tender nurse her babe from faring ill. +Presume not on thy heart when mine is slain, +Thou gav'st me thine not to give back again. + +As an unperfect actor on the stage, +Who with his fear is put beside his part, +Or some fierce thing replete with too much rage, +Whose strength's abundance weakens his own heart; +So I for fear of trust, forget to say, +The perfect ceremony of love's rite, +And in mine own love's strength seem to decay, +O'ercharged with burthen of mine own love's might: +O let my looks be then the eloquence, +And dumb presagers of my speaking breast, +Who plead for love, and look for recompense, +More than that tongue that more hath more expressed. +O learn to read what silent love hath writ, +To hear with eyes belongs to love's fine wit. + +Mine eye hath played the painter and hath stelled, +Thy beauty's form in table of my heart, +My body is the frame wherein 'tis held, +And perspective it is best painter's art. +For through the painter must you see his skill, +To find where your true image pictured lies, +Which in my bosom's shop is hanging still, +That hath his windows glazed with thine eyes: +Now see what good turns eyes for eyes have done, +Mine eyes have drawn thy shape, and thine for me +Are windows to my breast, where-through the sun +Delights to peep, to gaze therein on thee; +Yet eyes this cunning want to grace their art, +They draw but what they see, know not the heart. + +Let those who are in favour with their stars, +Of public honour and proud titles boast, +Whilst I whom fortune of such triumph bars +Unlooked for joy in that I honour most; +Great princes' favourites their fair leaves spread, +But as the marigold at the sun's eye, +And in themselves their pride lies buried, +For at a frown they in their glory die. +The painful warrior famoused for fight, +After a thousand victories once foiled, +Is from the book of honour razed quite, +And all the rest forgot for which he toiled: +Then happy I that love and am beloved +Where I may not remove nor be removed. + +Lord of my love, to whom in vassalage +Thy merit hath my duty strongly knit; +To thee I send this written embassage +To witness duty, not to show my wit. +Duty so great, which wit so poor as mine +May make seem bare, in wanting words to show it; +But that I hope some good conceit of thine +In thy soul's thought (all naked) will bestow it: +Till whatsoever star that guides my moving, +Points on me graciously with fair aspect, +And puts apparel on my tattered loving, +To show me worthy of thy sweet respect, +Then may I dare to boast how I do love thee, +Till then, not show my head where thou mayst prove me. + +Weary with toil, I haste me to my bed, +The dear respose for limbs with travel tired, +But then begins a journey in my head +To work my mind, when body's work's expired. +For then my thoughts (from far where I abide) +Intend a zealous pilgrimage to thee, +And keep my drooping eyelids open wide, +Looking on darkness which the blind do see. +Save that my soul's imaginary sight +Presents thy shadow to my sightless view, +Which like a jewel (hung in ghastly night) +Makes black night beauteous, and her old face new. +Lo thus by day my limbs, by night my mind, +For thee, and for my self, no quiet find. + +How can I then return in happy plight +That am debarred the benefit of rest? +When day's oppression is not eased by night, +But day by night and night by day oppressed. +And each (though enemies to either's reign) +Do in consent shake hands to torture me, +The one by toil, the other to complain +How far I toil, still farther off from thee. +I tell the day to please him thou art bright, +And dost him grace when clouds do blot the heaven: +So flatter I the swart-complexioned night, +When sparkling stars twire not thou gild'st the even. +But day doth daily draw my sorrows longer, +And night doth nightly make grief's length seem stronger + +When in disgrace with Fortune and men's eyes, +I all alone beweep my outcast state, +And trouble deaf heaven with my bootless cries, +And look upon my self and curse my fate, +Wishing me like to one more rich in hope, +Featured like him, like him with friends possessed, +Desiring this man's art, and that man's scope, +With what I most enjoy contented least, +Yet in these thoughts my self almost despising, +Haply I think on thee, and then my state, +(Like to the lark at break of day arising +From sullen earth) sings hymns at heaven's gate, +For thy sweet love remembered such wealth brings, +That then I scorn to change my state with kings. + +When to the sessions of sweet silent thought, +I summon up remembrance of things past, +I sigh the lack of many a thing I sought, +And with old woes new wail my dear time's waste: +Then can I drown an eye (unused to flow) +For precious friends hid in death's dateless night, +And weep afresh love's long since cancelled woe, +And moan th' expense of many a vanished sight. +Then can I grieve at grievances foregone, +And heavily from woe to woe tell o'er +The sad account of fore-bemoaned moan, +Which I new pay as if not paid before. +But if the while I think on thee (dear friend) +All losses are restored, and sorrows end. + +Thy bosom is endeared with all hearts, +Which I by lacking have supposed dead, +And there reigns love and all love's loving parts, +And all those friends which I thought buried. +How many a holy and obsequious tear +Hath dear religious love stol'n from mine eye, +As interest of the dead, which now appear, +But things removed that hidden in thee lie. +Thou art the grave where buried love doth live, +Hung with the trophies of my lovers gone, +Who all their parts of me to thee did give, +That due of many, now is thine alone. +Their images I loved, I view in thee, +And thou (all they) hast all the all of me. + +If thou survive my well-contented day, +When that churl death my bones with dust shall cover +And shalt by fortune once more re-survey +These poor rude lines of thy deceased lover: +Compare them with the bett'ring of the time, +And though they be outstripped by every pen, +Reserve them for my love, not for their rhyme, +Exceeded by the height of happier men. +O then vouchsafe me but this loving thought, +'Had my friend's Muse grown with this growing age, +A dearer birth than this his love had brought +To march in ranks of better equipage: +But since he died and poets better prove, +Theirs for their style I'll read, his for his love'. + +Full many a glorious morning have I seen, +Flatter the mountain tops with sovereign eye, +Kissing with golden face the meadows green; +Gilding pale streams with heavenly alchemy: +Anon permit the basest clouds to ride, +With ugly rack on his celestial face, +And from the forlorn world his visage hide +Stealing unseen to west with this disgrace: +Even so my sun one early morn did shine, +With all triumphant splendour on my brow, +But out alack, he was but one hour mine, +The region cloud hath masked him from me now. +Yet him for this, my love no whit disdaineth, +Suns of the world may stain, when heaven's sun staineth. + +Why didst thou promise such a beauteous day, +And make me travel forth without my cloak, +To let base clouds o'ertake me in my way, +Hiding thy brav'ry in their rotten smoke? +'Tis not enough that through the cloud thou break, +To dry the rain on my storm-beaten face, +For no man well of such a salve can speak, +That heals the wound, and cures not the disgrace: +Nor can thy shame give physic to my grief, +Though thou repent, yet I have still the loss, +Th' offender's sorrow lends but weak relief +To him that bears the strong offence's cross. +Ah but those tears are pearl which thy love sheds, +And they are rich, and ransom all ill deeds. + + + +No more be grieved at that which thou hast done, +Roses have thorns, and silver fountains mud, +Clouds and eclipses stain both moon and sun, +And loathsome canker lives in sweetest bud. +All men make faults, and even I in this, +Authorizing thy trespass with compare, +My self corrupting salving thy amiss, +Excusing thy sins more than thy sins are: +For to thy sensual fault I bring in sense, +Thy adverse party is thy advocate, +And 'gainst my self a lawful plea commence: +Such civil war is in my love and hate, +That I an accessary needs must be, +To that sweet thief which sourly robs from me. + +Let me confess that we two must be twain, +Although our undivided loves are one: +So shall those blots that do with me remain, +Without thy help, by me be borne alone. +In our two loves there is but one respect, +Though in our lives a separable spite, +Which though it alter not love's sole effect, +Yet doth it steal sweet hours from love's delight. +I may not evermore acknowledge thee, +Lest my bewailed guilt should do thee shame, +Nor thou with public kindness honour me, +Unless thou take that honour from thy name: +But do not so, I love thee in such sort, +As thou being mine, mine is thy good report. + +As a decrepit father takes delight, +To see his active child do deeds of youth, +So I, made lame by Fortune's dearest spite +Take all my comfort of thy worth and truth. +For whether beauty, birth, or wealth, or wit, +Or any of these all, or all, or more +Entitled in thy parts, do crowned sit, +I make my love engrafted to this store: +So then I am not lame, poor, nor despised, +Whilst that this shadow doth such substance give, +That I in thy abundance am sufficed, +And by a part of all thy glory live: +Look what is best, that best I wish in thee, +This wish I have, then ten times happy me. + +How can my muse want subject to invent +While thou dost breathe that pour'st into my verse, +Thine own sweet argument, too excellent, +For every vulgar paper to rehearse? +O give thy self the thanks if aught in me, +Worthy perusal stand against thy sight, +For who's so dumb that cannot write to thee, +When thou thy self dost give invention light? +Be thou the tenth Muse, ten times more in worth +Than those old nine which rhymers invocate, +And he that calls on thee, let him bring forth +Eternal numbers to outlive long date. +If my slight muse do please these curious days, +The pain be mine, but thine shall be the praise. + +O how thy worth with manners may I sing, +When thou art all the better part of me? +What can mine own praise to mine own self bring: +And what is't but mine own when I praise thee? +Even for this, let us divided live, +And our dear love lose name of single one, +That by this separation I may give: +That due to thee which thou deserv'st alone: +O absence what a torment wouldst thou prove, +Were it not thy sour leisure gave sweet leave, +To entertain the time with thoughts of love, +Which time and thoughts so sweetly doth deceive. +And that thou teachest how to make one twain, +By praising him here who doth hence remain. + +Take all my loves, my love, yea take them all, +What hast thou then more than thou hadst before? +No love, my love, that thou mayst true love call, +All mine was thine, before thou hadst this more: +Then if for my love, thou my love receivest, +I cannot blame thee, for my love thou usest, +But yet be blamed, if thou thy self deceivest +By wilful taste of what thy self refusest. +I do forgive thy robbery gentle thief +Although thou steal thee all my poverty: +And yet love knows it is a greater grief +To bear greater wrong, than hate's known injury. +Lascivious grace, in whom all ill well shows, +Kill me with spites yet we must not be foes. + +Those pretty wrongs that liberty commits, +When I am sometime absent from thy heart, +Thy beauty, and thy years full well befits, +For still temptation follows where thou art. +Gentle thou art, and therefore to be won, +Beauteous thou art, therefore to be assailed. +And when a woman woos, what woman's son, +Will sourly leave her till he have prevailed? +Ay me, but yet thou mightst my seat forbear, +And chide thy beauty, and thy straying youth, +Who lead thee in their riot even there +Where thou art forced to break a twofold truth: +Hers by thy beauty tempting her to thee, +Thine by thy beauty being false to me. + +That thou hast her it is not all my grief, +And yet it may be said I loved her dearly, +That she hath thee is of my wailing chief, +A loss in love that touches me more nearly. +Loving offenders thus I will excuse ye, +Thou dost love her, because thou know'st I love her, +And for my sake even so doth she abuse me, +Suff'ring my friend for my sake to approve her. +If I lose thee, my loss is my love's gain, +And losing her, my friend hath found that loss, +Both find each other, and I lose both twain, +And both for my sake lay on me this cross, +But here's the joy, my friend and I are one, +Sweet flattery, then she loves but me alone. + +When most I wink then do mine eyes best see, +For all the day they view things unrespected, +But when I sleep, in dreams they look on thee, +And darkly bright, are bright in dark directed. +Then thou whose shadow shadows doth make bright +How would thy shadow's form, form happy show, +To the clear day with thy much clearer light, +When to unseeing eyes thy shade shines so! +How would (I say) mine eyes be blessed made, +By looking on thee in the living day, +When in dead night thy fair imperfect shade, +Through heavy sleep on sightless eyes doth stay! +All days are nights to see till I see thee, +And nights bright days when dreams do show thee me. + +If the dull substance of my flesh were thought, +Injurious distance should not stop my way, +For then despite of space I would be brought, +From limits far remote, where thou dost stay, +No matter then although my foot did stand +Upon the farthest earth removed from thee, +For nimble thought can jump both sea and land, +As soon as think the place where he would be. +But ah, thought kills me that I am not thought +To leap large lengths of miles when thou art gone, +But that so much of earth and water wrought, +I must attend, time's leisure with my moan. +Receiving nought by elements so slow, +But heavy tears, badges of either's woe. + +The other two, slight air, and purging fire, +Are both with thee, wherever I abide, +The first my thought, the other my desire, +These present-absent with swift motion slide. +For when these quicker elements are gone +In tender embassy of love to thee, +My life being made of four, with two alone, +Sinks down to death, oppressed with melancholy. +Until life's composition be recured, +By those swift messengers returned from thee, +Who even but now come back again assured, +Of thy fair health, recounting it to me. +This told, I joy, but then no longer glad, +I send them back again and straight grow sad. + +Mine eye and heart are at a mortal war, +How to divide the conquest of thy sight, +Mine eye, my heart thy picture's sight would bar, +My heart, mine eye the freedom of that right, +My heart doth plead that thou in him dost lie, +(A closet never pierced with crystal eyes) +But the defendant doth that plea deny, +And says in him thy fair appearance lies. +To side this title is impanelled +A quest of thoughts, all tenants to the heart, +And by their verdict is determined +The clear eye's moiety, and the dear heart's part. +As thus, mine eye's due is thy outward part, +And my heart's right, thy inward love of heart. + +Betwixt mine eye and heart a league is took, +And each doth good turns now unto the other, +When that mine eye is famished for a look, +Or heart in love with sighs himself doth smother; +With my love's picture then my eye doth feast, +And to the painted banquet bids my heart: +Another time mine eye is my heart's guest, +And in his thoughts of love doth share a part. +So either by thy picture or my love, +Thy self away, art present still with me, +For thou not farther than my thoughts canst move, +And I am still with them, and they with thee. +Or if they sleep, thy picture in my sight +Awakes my heart, to heart's and eye's delight. + +How careful was I when I took my way, +Each trifle under truest bars to thrust, +That to my use it might unused stay +From hands of falsehood, in sure wards of trust! +But thou, to whom my jewels trifles are, +Most worthy comfort, now my greatest grief, +Thou best of dearest, and mine only care, +Art left the prey of every vulgar thief. +Thee have I not locked up in any chest, +Save where thou art not, though I feel thou art, +Within the gentle closure of my breast, +From whence at pleasure thou mayst come and part, +And even thence thou wilt be stol'n I fear, +For truth proves thievish for a prize so dear. + +Against that time (if ever that time come) +When I shall see thee frown on my defects, +When as thy love hath cast his utmost sum, +Called to that audit by advised respects, +Against that time when thou shalt strangely pass, +And scarcely greet me with that sun thine eye, +When love converted from the thing it was +Shall reasons find of settled gravity; +Against that time do I ensconce me here +Within the knowledge of mine own desert, +And this my hand, against my self uprear, +To guard the lawful reasons on thy part, +To leave poor me, thou hast the strength of laws, +Since why to love, I can allege no cause. + +How heavy do I journey on the way, +When what I seek (my weary travel's end) +Doth teach that case and that repose to say +'Thus far the miles are measured from thy friend.' +The beast that bears me, tired with my woe, +Plods dully on, to bear that weight in me, +As if by some instinct the wretch did know +His rider loved not speed being made from thee: +The bloody spur cannot provoke him on, +That sometimes anger thrusts into his hide, +Which heavily he answers with a groan, +More sharp to me than spurring to his side, +For that same groan doth put this in my mind, +My grief lies onward and my joy behind. + +Thus can my love excuse the slow offence, +Of my dull bearer, when from thee I speed, +From where thou art, why should I haste me thence? +Till I return of posting is no need. +O what excuse will my poor beast then find, +When swift extremity can seem but slow? +Then should I spur though mounted on the wind, +In winged speed no motion shall I know, +Then can no horse with my desire keep pace, +Therefore desire (of perfect'st love being made) +Shall neigh (no dull flesh) in his fiery race, +But love, for love, thus shall excuse my jade, +Since from thee going, he went wilful-slow, +Towards thee I'll run, and give him leave to go. + +So am I as the rich whose blessed key, +Can bring him to his sweet up-locked treasure, +The which he will not every hour survey, +For blunting the fine point of seldom pleasure. +Therefore are feasts so solemn and so rare, +Since seldom coming in that long year set, +Like stones of worth they thinly placed are, +Or captain jewels in the carcanet. +So is the time that keeps you as my chest +Or as the wardrobe which the robe doth hide, +To make some special instant special-blest, +By new unfolding his imprisoned pride. +Blessed are you whose worthiness gives scope, +Being had to triumph, being lacked to hope. + +What is your substance, whereof are you made, +That millions of strange shadows on you tend? +Since every one, hath every one, one shade, +And you but one, can every shadow lend: +Describe Adonis and the counterfeit, +Is poorly imitated after you, +On Helen's cheek all art of beauty set, +And you in Grecian tires are painted new: +Speak of the spring, and foison of the year, +The one doth shadow of your beauty show, +The other as your bounty doth appear, +And you in every blessed shape we know. +In all external grace you have some part, +But you like none, none you for constant heart. + +O how much more doth beauty beauteous seem, +By that sweet ornament which truth doth give! +The rose looks fair, but fairer we it deem +For that sweet odour, which doth in it live: +The canker blooms have full as deep a dye, +As the perfumed tincture of the roses, +Hang on such thorns, and play as wantonly, +When summer's breath their masked buds discloses: +But for their virtue only is their show, +They live unwooed, and unrespected fade, +Die to themselves. Sweet roses do not so, +Of their sweet deaths, are sweetest odours made: +And so of you, beauteous and lovely youth, +When that shall vade, by verse distills your truth. + +Not marble, nor the gilded monuments +Of princes shall outlive this powerful rhyme, +But you shall shine more bright in these contents +Than unswept stone, besmeared with sluttish time. +When wasteful war shall statues overturn, +And broils root out the work of masonry, +Nor Mars his sword, nor war's quick fire shall burn: +The living record of your memory. +'Gainst death, and all-oblivious enmity +Shall you pace forth, your praise shall still find room, +Even in the eyes of all posterity +That wear this world out to the ending doom. +So till the judgment that your self arise, +You live in this, and dwell in lovers' eyes. + +Sweet love renew thy force, be it not said +Thy edge should blunter be than appetite, +Which but to-day by feeding is allayed, +To-morrow sharpened in his former might. +So love be thou, although to-day thou fill +Thy hungry eyes, even till they wink with fulness, +To-morrow see again, and do not kill +The spirit of love, with a perpetual dulness: +Let this sad interim like the ocean be +Which parts the shore, where two contracted new, +Come daily to the banks, that when they see: +Return of love, more blest may be the view. +Or call it winter, which being full of care, +Makes summer's welcome, thrice more wished, more rare. + +Being your slave what should I do but tend, +Upon the hours, and times of your desire? +I have no precious time at all to spend; +Nor services to do till you require. +Nor dare I chide the world-without-end hour, +Whilst I (my sovereign) watch the clock for you, +Nor think the bitterness of absence sour, +When you have bid your servant once adieu. +Nor dare I question with my jealous thought, +Where you may be, or your affairs suppose, +But like a sad slave stay and think of nought +Save where you are, how happy you make those. +So true a fool is love, that in your will, +(Though you do any thing) he thinks no ill. + +That god forbid, that made me first your slave, +I should in thought control your times of pleasure, +Or at your hand th' account of hours to crave, +Being your vassal bound to stay your leisure. +O let me suffer (being at your beck) +Th' imprisoned absence of your liberty, +And patience tame to sufferance bide each check, +Without accusing you of injury. +Be where you list, your charter is so strong, +That you your self may privilage your time +To what you will, to you it doth belong, +Your self to pardon of self-doing crime. +I am to wait, though waiting so be hell, +Not blame your pleasure be it ill or well. + +If there be nothing new, but that which is, +Hath been before, how are our brains beguiled, +Which labouring for invention bear amis +The second burthen of a former child! +O that record could with a backward look, +Even of five hundred courses of the sun, +Show me your image in some antique book, +Since mind at first in character was done. +That I might see what the old world could say, +To this composed wonder of your frame, +Whether we are mended, or whether better they, +Or whether revolution be the same. +O sure I am the wits of former days, +To subjects worse have given admiring praise. + +Like as the waves make towards the pebbled shore, +So do our minutes hasten to their end, +Each changing place with that which goes before, +In sequent toil all forwards do contend. +Nativity once in the main of light, +Crawls to maturity, wherewith being crowned, +Crooked eclipses 'gainst his glory fight, +And Time that gave, doth now his gift confound. +Time doth transfix the flourish set on youth, +And delves the parallels in beauty's brow, +Feeds on the rarities of nature's truth, +And nothing stands but for his scythe to mow. +And yet to times in hope, my verse shall stand +Praising thy worth, despite his cruel hand. + +Is it thy will, thy image should keep open +My heavy eyelids to the weary night? +Dost thou desire my slumbers should be broken, +While shadows like to thee do mock my sight? +Is it thy spirit that thou send'st from thee +So far from home into my deeds to pry, +To find out shames and idle hours in me, +The scope and tenure of thy jealousy? +O no, thy love though much, is not so great, +It is my love that keeps mine eye awake, +Mine own true love that doth my rest defeat, +To play the watchman ever for thy sake. +For thee watch I, whilst thou dost wake elsewhere, +From me far off, with others all too near. + +Sin of self-love possesseth all mine eye, +And all my soul, and all my every part; +And for this sin there is no remedy, +It is so grounded inward in my heart. +Methinks no face so gracious is as mine, +No shape so true, no truth of such account, +And for my self mine own worth do define, +As I all other in all worths surmount. +But when my glass shows me my self indeed +beated and chopt with tanned antiquity, +Mine own self-love quite contrary I read: +Self, so self-loving were iniquity. +'Tis thee (my self) that for my self I praise, +Painting my age with beauty of thy days. + +Against my love shall be as I am now +With Time's injurious hand crushed and o'erworn, +When hours have drained his blood and filled his brow +With lines and wrinkles, when his youthful morn +Hath travelled on to age's steepy night, +And all those beauties whereof now he's king +Are vanishing, or vanished out of sight, +Stealing away the treasure of his spring: +For such a time do I now fortify +Against confounding age's cruel knife, +That he shall never cut from memory +My sweet love's beauty, though my lover's life. +His beauty shall in these black lines be seen, +And they shall live, and he in them still green. + +When I have seen by Time's fell hand defaced +The rich-proud cost of outworn buried age, +When sometime lofty towers I see down-rased, +And brass eternal slave to mortal rage. +When I have seen the hungry ocean gain +Advantage on the kingdom of the shore, +And the firm soil win of the watery main, +Increasing store with loss, and loss with store. +When I have seen such interchange of State, +Or state it self confounded, to decay, +Ruin hath taught me thus to ruminate +That Time will come and take my love away. +This thought is as a death which cannot choose +But weep to have, that which it fears to lose. + +Since brass, nor stone, nor earth, nor boundless sea, +But sad mortality o'ersways their power, +How with this rage shall beauty hold a plea, +Whose action is no stronger than a flower? +O how shall summer's honey breath hold out, +Against the wrackful siege of batt'ring days, +When rocks impregnable are not so stout, +Nor gates of steel so strong but time decays? +O fearful meditation, where alack, +Shall Time's best jewel from Time's chest lie hid? +Or what strong hand can hold his swift foot back, +Or who his spoil of beauty can forbid? +O none, unless this miracle have might, +That in black ink my love may still shine bright. + +Tired with all these for restful death I cry, +As to behold desert a beggar born, +And needy nothing trimmed in jollity, +And purest faith unhappily forsworn, +And gilded honour shamefully misplaced, +And maiden virtue rudely strumpeted, +And right perfection wrongfully disgraced, +And strength by limping sway disabled +And art made tongue-tied by authority, +And folly (doctor-like) controlling skill, +And simple truth miscalled simplicity, +And captive good attending captain ill. +Tired with all these, from these would I be gone, +Save that to die, I leave my love alone. + +Ah wherefore with infection should he live, +And with his presence grace impiety, +That sin by him advantage should achieve, +And lace it self with his society? +Why should false painting imitate his cheek, +And steal dead seeming of his living hue? +Why should poor beauty indirectly seek, +Roses of shadow, since his rose is true? +Why should he live, now nature bankrupt is, +Beggared of blood to blush through lively veins, +For she hath no exchequer now but his, +And proud of many, lives upon his gains? +O him she stores, to show what wealth she had, +In days long since, before these last so bad. + +Thus is his cheek the map of days outworn, +When beauty lived and died as flowers do now, +Before these bastard signs of fair were born, +Or durst inhabit on a living brow: +Before the golden tresses of the dead, +The right of sepulchres, were shorn away, +To live a second life on second head, +Ere beauty's dead fleece made another gay: +In him those holy antique hours are seen, +Without all ornament, it self and true, +Making no summer of another's green, +Robbing no old to dress his beauty new, +And him as for a map doth Nature store, +To show false Art what beauty was of yore. + +Those parts of thee that the world's eye doth view, +Want nothing that the thought of hearts can mend: +All tongues (the voice of souls) give thee that due, +Uttering bare truth, even so as foes commend. +Thy outward thus with outward praise is crowned, +But those same tongues that give thee so thine own, +In other accents do this praise confound +By seeing farther than the eye hath shown. +They look into the beauty of thy mind, +And that in guess they measure by thy deeds, +Then churls their thoughts (although their eyes were kind) +To thy fair flower add the rank smell of weeds: +But why thy odour matcheth not thy show, +The soil is this, that thou dost common grow. + + + +That thou art blamed shall not be thy defect, +For slander's mark was ever yet the fair, +The ornament of beauty is suspect, +A crow that flies in heaven's sweetest air. +So thou be good, slander doth but approve, +Thy worth the greater being wooed of time, +For canker vice the sweetest buds doth love, +And thou present'st a pure unstained prime. +Thou hast passed by the ambush of young days, +Either not assailed, or victor being charged, +Yet this thy praise cannot be so thy praise, +To tie up envy, evermore enlarged, +If some suspect of ill masked not thy show, +Then thou alone kingdoms of hearts shouldst owe. + + + +No longer mourn for me when I am dead, +Than you shall hear the surly sullen bell +Give warning to the world that I am fled +From this vile world with vilest worms to dwell: +Nay if you read this line, remember not, +The hand that writ it, for I love you so, +That I in your sweet thoughts would be forgot, +If thinking on me then should make you woe. +O if (I say) you look upon this verse, +When I (perhaps) compounded am with clay, +Do not so much as my poor name rehearse; +But let your love even with my life decay. +Lest the wise world should look into your moan, +And mock you with me after I am gone. + + + +O lest the world should task you to recite, +What merit lived in me that you should love +After my death (dear love) forget me quite, +For you in me can nothing worthy prove. +Unless you would devise some virtuous lie, +To do more for me than mine own desert, +And hang more praise upon deceased I, +Than niggard truth would willingly impart: +O lest your true love may seem false in this, +That you for love speak well of me untrue, +My name be buried where my body is, +And live no more to shame nor me, nor you. +For I am shamed by that which I bring forth, +And so should you, to love things nothing worth. + + + +That time of year thou mayst in me behold, +When yellow leaves, or none, or few do hang +Upon those boughs which shake against the cold, +Bare ruined choirs, where late the sweet birds sang. +In me thou seest the twilight of such day, +As after sunset fadeth in the west, +Which by and by black night doth take away, +Death's second self that seals up all in rest. +In me thou seest the glowing of such fire, +That on the ashes of his youth doth lie, +As the death-bed, whereon it must expire, +Consumed with that which it was nourished by. +This thou perceiv'st, which makes thy love more strong, +To love that well, which thou must leave ere long. + + + +But be contented when that fell arrest, +Without all bail shall carry me away, +My life hath in this line some interest, +Which for memorial still with thee shall stay. +When thou reviewest this, thou dost review, +The very part was consecrate to thee, +The earth can have but earth, which is his due, +My spirit is thine the better part of me, +So then thou hast but lost the dregs of life, +The prey of worms, my body being dead, +The coward conquest of a wretch's knife, +Too base of thee to be remembered, +The worth of that, is that which it contains, +And that is this, and this with thee remains. + + + +So are you to my thoughts as food to life, +Or as sweet-seasoned showers are to the ground; +And for the peace of you I hold such strife +As 'twixt a miser and his wealth is found. +Now proud as an enjoyer, and anon +Doubting the filching age will steal his treasure, +Now counting best to be with you alone, +Then bettered that the world may see my pleasure, +Sometime all full with feasting on your sight, +And by and by clean starved for a look, +Possessing or pursuing no delight +Save what is had, or must from you be took. +Thus do I pine and surfeit day by day, +Or gluttoning on all, or all away. + + + +Why is my verse so barren of new pride? +So far from variation or quick change? +Why with the time do I not glance aside +To new-found methods, and to compounds strange? +Why write I still all one, ever the same, +And keep invention in a noted weed, +That every word doth almost tell my name, +Showing their birth, and where they did proceed? +O know sweet love I always write of you, +And you and love are still my argument: +So all my best is dressing old words new, +Spending again what is already spent: +For as the sun is daily new and old, +So is my love still telling what is told. + + + +Thy glass will show thee how thy beauties wear, +Thy dial how thy precious minutes waste, +These vacant leaves thy mind's imprint will bear, +And of this book, this learning mayst thou taste. +The wrinkles which thy glass will truly show, +Of mouthed graves will give thee memory, +Thou by thy dial's shady stealth mayst know, +Time's thievish progress to eternity. +Look what thy memory cannot contain, +Commit to these waste blanks, and thou shalt find +Those children nursed, delivered from thy brain, +To take a new acquaintance of thy mind. +These offices, so oft as thou wilt look, +Shall profit thee, and much enrich thy book. + + + +So oft have I invoked thee for my muse, +And found such fair assistance in my verse, +As every alien pen hath got my use, +And under thee their poesy disperse. +Thine eyes, that taught the dumb on high to sing, +And heavy ignorance aloft to fly, +Have added feathers to the learned's wing, +And given grace a double majesty. +Yet be most proud of that which I compile, +Whose influence is thine, and born of thee, +In others' works thou dost but mend the style, +And arts with thy sweet graces graced be. +But thou art all my art, and dost advance +As high as learning, my rude ignorance. + + + +Whilst I alone did call upon thy aid, +My verse alone had all thy gentle grace, +But now my gracious numbers are decayed, +And my sick muse doth give an other place. +I grant (sweet love) thy lovely argument +Deserves the travail of a worthier pen, +Yet what of thee thy poet doth invent, +He robs thee of, and pays it thee again, +He lends thee virtue, and he stole that word, +From thy behaviour, beauty doth he give +And found it in thy cheek: he can afford +No praise to thee, but what in thee doth live. +Then thank him not for that which he doth say, +Since what he owes thee, thou thy self dost pay. + + + +O how I faint when I of you do write, +Knowing a better spirit doth use your name, +And in the praise thereof spends all his might, +To make me tongue-tied speaking of your fame. +But since your worth (wide as the ocean is) +The humble as the proudest sail doth bear, +My saucy bark (inferior far to his) +On your broad main doth wilfully appear. +Your shallowest help will hold me up afloat, +Whilst he upon your soundless deep doth ride, +Or (being wrecked) I am a worthless boat, +He of tall building, and of goodly pride. +Then if he thrive and I be cast away, +The worst was this, my love was my decay. + + + +Or I shall live your epitaph to make, +Or you survive when I in earth am rotten, +From hence your memory death cannot take, +Although in me each part will be forgotten. +Your name from hence immortal life shall have, +Though I (once gone) to all the world must die, +The earth can yield me but a common grave, +When you entombed in men's eyes shall lie, +Your monument shall be my gentle verse, +Which eyes not yet created shall o'er-read, +And tongues to be, your being shall rehearse, +When all the breathers of this world are dead, +You still shall live (such virtue hath my pen) +Where breath most breathes, even in the mouths of men. + + + +I grant thou wert not married to my muse, +And therefore mayst without attaint o'erlook +The dedicated words which writers use +Of their fair subject, blessing every book. +Thou art as fair in knowledge as in hue, +Finding thy worth a limit past my praise, +And therefore art enforced to seek anew, +Some fresher stamp of the time-bettering days. +And do so love, yet when they have devised, +What strained touches rhetoric can lend, +Thou truly fair, wert truly sympathized, +In true plain words, by thy true-telling friend. +And their gross painting might be better used, +Where cheeks need blood, in thee it is abused. + + + +I never saw that you did painting need, +And therefore to your fair no painting set, +I found (or thought I found) you did exceed, +That barren tender of a poet's debt: +And therefore have I slept in your report, +That you your self being extant well might show, +How far a modern quill doth come too short, +Speaking of worth, what worth in you doth grow. +This silence for my sin you did impute, +Which shall be most my glory being dumb, +For I impair not beauty being mute, +When others would give life, and bring a tomb. +There lives more life in one of your fair eyes, +Than both your poets can in praise devise. + + + +Who is it that says most, which can say more, +Than this rich praise, that you alone, are you? +In whose confine immured is the store, +Which should example where your equal grew. +Lean penury within that pen doth dwell, +That to his subject lends not some small glory, +But he that writes of you, if he can tell, +That you are you, so dignifies his story. +Let him but copy what in you is writ, +Not making worse what nature made so clear, +And such a counterpart shall fame his wit, +Making his style admired every where. +You to your beauteous blessings add a curse, +Being fond on praise, which makes your praises worse. + + + +My tongue-tied muse in manners holds her still, +While comments of your praise richly compiled, +Reserve their character with golden quill, +And precious phrase by all the Muses filed. +I think good thoughts, whilst other write good words, +And like unlettered clerk still cry Amen, +To every hymn that able spirit affords, +In polished form of well refined pen. +Hearing you praised, I say 'tis so, 'tis true, +And to the most of praise add something more, +But that is in my thought, whose love to you +(Though words come hindmost) holds his rank before, +Then others, for the breath of words respect, +Me for my dumb thoughts, speaking in effect. + + + +Was it the proud full sail of his great verse, +Bound for the prize of (all too precious) you, +That did my ripe thoughts in my brain inhearse, +Making their tomb the womb wherein they grew? +Was it his spirit, by spirits taught to write, +Above a mortal pitch, that struck me dead? +No, neither he, nor his compeers by night +Giving him aid, my verse astonished. +He nor that affable familiar ghost +Which nightly gulls him with intelligence, +As victors of my silence cannot boast, +I was not sick of any fear from thence. +But when your countenance filled up his line, +Then lacked I matter, that enfeebled mine. + + + +Farewell! thou art too dear for my possessing, +And like enough thou know'st thy estimate, +The charter of thy worth gives thee releasing: +My bonds in thee are all determinate. +For how do I hold thee but by thy granting, +And for that riches where is my deserving? +The cause of this fair gift in me is wanting, +And so my patent back again is swerving. +Thy self thou gav'st, thy own worth then not knowing, +Or me to whom thou gav'st it, else mistaking, +So thy great gift upon misprision growing, +Comes home again, on better judgement making. +Thus have I had thee as a dream doth flatter, +In sleep a king, but waking no such matter. + + + +When thou shalt be disposed to set me light, +And place my merit in the eye of scorn, +Upon thy side, against my self I'll fight, +And prove thee virtuous, though thou art forsworn: +With mine own weakness being best acquainted, +Upon thy part I can set down a story +Of faults concealed, wherein I am attainted: +That thou in losing me, shalt win much glory: +And I by this will be a gainer too, +For bending all my loving thoughts on thee, +The injuries that to my self I do, +Doing thee vantage, double-vantage me. +Such is my love, to thee I so belong, +That for thy right, my self will bear all wrong. + + + +Say that thou didst forsake me for some fault, +And I will comment upon that offence, +Speak of my lameness, and I straight will halt: +Against thy reasons making no defence. +Thou canst not (love) disgrace me half so ill, +To set a form upon desired change, +As I'll my self disgrace, knowing thy will, +I will acquaintance strangle and look strange: +Be absent from thy walks and in my tongue, +Thy sweet beloved name no more shall dwell, +Lest I (too much profane) should do it wronk: +And haply of our old acquaintance tell. +For thee, against my self I'll vow debate, +For I must ne'er love him whom thou dost hate. + + + +Then hate me when thou wilt, if ever, now, +Now while the world is bent my deeds to cross, +join with the spite of fortune, make me bow, +And do not drop in for an after-loss: +Ah do not, when my heart hath 'scaped this sorrow, +Come in the rearward of a conquered woe, +Give not a windy night a rainy morrow, +To linger out a purposed overthrow. +If thou wilt leave me, do not leave me last, +When other petty griefs have done their spite, +But in the onset come, so shall I taste +At first the very worst of fortune's might. +And other strains of woe, which now seem woe, +Compared with loss of thee, will not seem so. + + + +Some glory in their birth, some in their skill, +Some in their wealth, some in their body's force, +Some in their garments though new-fangled ill: +Some in their hawks and hounds, some in their horse. +And every humour hath his adjunct pleasure, +Wherein it finds a joy above the rest, +But these particulars are not my measure, +All these I better in one general best. +Thy love is better than high birth to me, +Richer than wealth, prouder than garments' costs, +Of more delight than hawks and horses be: +And having thee, of all men's pride I boast. +Wretched in this alone, that thou mayst take, +All this away, and me most wretchcd make. + + + +But do thy worst to steal thy self away, +For term of life thou art assured mine, +And life no longer than thy love will stay, +For it depends upon that love of thine. +Then need I not to fear the worst of wrongs, +When in the least of them my life hath end, +I see, a better state to me belongs +Than that, which on thy humour doth depend. +Thou canst not vex me with inconstant mind, +Since that my life on thy revolt doth lie, +O what a happy title do I find, +Happy to have thy love, happy to die! +But what's so blessed-fair that fears no blot? +Thou mayst be false, and yet I know it not. + + + +So shall I live, supposing thou art true, +Like a deceived husband, so love's face, +May still seem love to me, though altered new: +Thy looks with me, thy heart in other place. +For there can live no hatred in thine eye, +Therefore in that I cannot know thy change, +In many's looks, the false heart's history +Is writ in moods and frowns and wrinkles strange. +But heaven in thy creation did decree, +That in thy face sweet love should ever dwell, +Whate'er thy thoughts, or thy heart's workings be, +Thy looks should nothing thence, but sweetness tell. +How like Eve's apple doth thy beauty grow, +If thy sweet virtue answer not thy show. + + + +They that have power to hurt, and will do none, +That do not do the thing, they most do show, +Who moving others, are themselves as stone, +Unmoved, cold, and to temptation slow: +They rightly do inherit heaven's graces, +And husband nature's riches from expense, +Tibey are the lords and owners of their faces, +Others, but stewards of their excellence: +The summer's flower is to the summer sweet, +Though to it self, it only live and die, +But if that flower with base infection meet, +The basest weed outbraves his dignity: +For sweetest things turn sourest by their deeds, +Lilies that fester, smell far worse than weeds. + + + +How sweet and lovely dost thou make the shame, +Which like a canker in the fragrant rose, +Doth spot the beauty of thy budding name! +O in what sweets dost thou thy sins enclose! +That tongue that tells the story of thy days, +(Making lascivious comments on thy sport) +Cannot dispraise, but in a kind of praise, +Naming thy name, blesses an ill report. +O what a mansion have those vices got, +Which for their habitation chose out thee, +Where beauty's veil doth cover every blot, +And all things turns to fair, that eyes can see! +Take heed (dear heart) of this large privilege, +The hardest knife ill-used doth lose his edge. + + + +Some say thy fault is youth, some wantonness, +Some say thy grace is youth and gentle sport, +Both grace and faults are loved of more and less: +Thou mak'st faults graces, that to thee resort: +As on the finger of a throned queen, +The basest jewel will be well esteemed: +So are those errors that in thee are seen, +To truths translated, and for true things deemed. +How many lambs might the stern wolf betray, +If like a lamb he could his looks translate! +How many gazers mightst thou lead away, +if thou wouldst use the strength of all thy state! +But do not so, I love thee in such sort, +As thou being mine, mine is thy good report. + + + +How like a winter hath my absence been +From thee, the pleasure of the fleeting year! +What freezings have I felt, what dark days seen! +What old December's bareness everywhere! +And yet this time removed was summer's time, +The teeming autumn big with rich increase, +Bearing the wanton burden of the prime, +Like widowed wombs after their lords' decease: +Yet this abundant issue seemed to me +But hope of orphans, and unfathered fruit, +For summer and his pleasures wait on thee, +And thou away, the very birds are mute. +Or if they sing, 'tis with so dull a cheer, +That leaves look pale, dreading the winter's near. + + + +From you have I been absent in the spring, +When proud-pied April (dressed in all his trim) +Hath put a spirit of youth in every thing: +That heavy Saturn laughed and leaped with him. +Yet nor the lays of birds, nor the sweet smell +Of different flowers in odour and in hue, +Could make me any summer's story tell: +Or from their proud lap pluck them where they grew: +Nor did I wonder at the lily's white, +Nor praise the deep vermilion in the rose, +They were but sweet, but figures of delight: +Drawn after you, you pattern of all those. +Yet seemed it winter still, and you away, +As with your shadow I with these did play. + + + +The forward violet thus did I chide, +Sweet thief, whence didst thou steal thy sweet that smells, +If not from my love's breath? The purple pride +Which on thy soft check for complexion dwells, +In my love's veins thou hast too grossly dyed. +The lily I condemned for thy hand, +And buds of marjoram had stol'n thy hair, +The roses fearfully on thorns did stand, +One blushing shame, another white despair: +A third nor red, nor white, had stol'n of both, +And to his robbery had annexed thy breath, +But for his theft in pride of all his growth +A vengeful canker eat him up to death. +More flowers I noted, yet I none could see, +But sweet, or colour it had stol'n from thee. + + + +Where art thou Muse that thou forget'st so long, +To speak of that which gives thee all thy might? +Spend'st thou thy fury on some worthless song, +Darkening thy power to lend base subjects light? +Return forgetful Muse, and straight redeem, +In gentle numbers time so idly spent, +Sing to the ear that doth thy lays esteem, +And gives thy pen both skill and argument. +Rise resty Muse, my love's sweet face survey, +If time have any wrinkle graven there, +If any, be a satire to decay, +And make time's spoils despised everywhere. +Give my love fame faster than Time wastes life, +So thou prevent'st his scythe, and crooked knife. + + + +O truant Muse what shall be thy amends, +For thy neglect of truth in beauty dyed? +Both truth and beauty on my love depends: +So dost thou too, and therein dignified: +Make answer Muse, wilt thou not haply say, +'Truth needs no colour with his colour fixed, +Beauty no pencil, beauty's truth to lay: +But best is best, if never intermixed'? +Because he needs no praise, wilt thou be dumb? +Excuse not silence so, for't lies in thee, +To make him much outlive a gilded tomb: +And to be praised of ages yet to be. +Then do thy office Muse, I teach thee how, +To make him seem long hence, as he shows now. + + + +My love is strengthened though more weak in seeming, +I love not less, though less the show appear, +That love is merchandized, whose rich esteeming, +The owner's tongue doth publish every where. +Our love was new, and then but in the spring, +When I was wont to greet it with my lays, +As Philomel in summer's front doth sing, +And stops her pipe in growth of riper days: +Not that the summer is less pleasant now +Than when her mournful hymns did hush the night, +But that wild music burthens every bough, +And sweets grown common lose their dear delight. +Therefore like her, I sometime hold my tongue: +Because I would not dull you with my song. + + + +Alack what poverty my muse brings forth, +That having such a scope to show her pride, +The argument all bare is of more worth +Than when it hath my added praise beside. +O blame me not if I no more can write! +Look in your glass and there appears a face, +That over-goes my blunt invention quite, +Dulling my lines, and doing me disgrace. +Were it not sinful then striving to mend, +To mar the subject that before was well? +For to no other pass my verses tend, +Than of your graces and your gifts to tell. +And more, much more than in my verse can sit, +Your own glass shows you, when you look in it. + + + +To me fair friend you never can be old, +For as you were when first your eye I eyed, +Such seems your beauty still: three winters cold, +Have from the forests shook three summers' pride, +Three beauteous springs to yellow autumn turned, +In process of the seasons have I seen, +Three April perfumes in three hot Junes burned, +Since first I saw you fresh which yet are green. +Ah yet doth beauty like a dial hand, +Steal from his figure, and no pace perceived, +So your sweet hue, which methinks still doth stand +Hath motion, and mine eye may be deceived. +For fear of which, hear this thou age unbred, +Ere you were born was beauty's summer dead. + + + +Let not my love be called idolatry, +Nor my beloved as an idol show, +Since all alike my songs and praises be +To one, of one, still such, and ever so. +Kind is my love to-day, to-morrow kind, +Still constant in a wondrous excellence, +Therefore my verse to constancy confined, +One thing expressing, leaves out difference. +Fair, kind, and true, is all my argument, +Fair, kind, and true, varying to other words, +And in this change is my invention spent, +Three themes in one, which wondrous scope affords. +Fair, kind, and true, have often lived alone. +Which three till now, never kept seat in one. + + + +When in the chronicle of wasted time, +I see descriptions of the fairest wights, +And beauty making beautiful old rhyme, +In praise of ladies dead, and lovely knights, +Then in the blazon of sweet beauty's best, +Of hand, of foot, of lip, of eye, of brow, +I see their antique pen would have expressed, +Even such a beauty as you master now. +So all their praises are but prophecies +Of this our time, all you prefiguring, +And for they looked but with divining eyes, +They had not skill enough your worth to sing: +For we which now behold these present days, +Have eyes to wonder, but lack tongues to praise. + + + +Not mine own fears, nor the prophetic soul, +Of the wide world, dreaming on things to come, +Can yet the lease of my true love control, +Supposed as forfeit to a confined doom. +The mortal moon hath her eclipse endured, +And the sad augurs mock their own presage, +Incertainties now crown themselves assured, +And peace proclaims olives of endless age. +Now with the drops of this most balmy time, +My love looks fresh, and death to me subscribes, +Since spite of him I'll live in this poor rhyme, +While he insults o'er dull and speechless tribes. +And thou in this shalt find thy monument, +When tyrants' crests and tombs of brass are spent. + + + +What's in the brain that ink may character, +Which hath not figured to thee my true spirit, +What's new to speak, what now to register, +That may express my love, or thy dear merit? +Nothing sweet boy, but yet like prayers divine, +I must each day say o'er the very same, +Counting no old thing old, thou mine, I thine, +Even as when first I hallowed thy fair name. +So that eternal love in love's fresh case, +Weighs not the dust and injury of age, +Nor gives to necessary wrinkles place, +But makes antiquity for aye his page, +Finding the first conceit of love there bred, +Where time and outward form would show it dead. + + + +O never say that I was false of heart, +Though absence seemed my flame to qualify, +As easy might I from my self depart, +As from my soul which in thy breast doth lie: +That is my home of love, if I have ranged, +Like him that travels I return again, +Just to the time, not with the time exchanged, +So that my self bring water for my stain, +Never believe though in my nature reigned, +All frailties that besiege all kinds of blood, +That it could so preposterously be stained, +To leave for nothing all thy sum of good: +For nothing this wide universe I call, +Save thou my rose, in it thou art my all. + + + +Alas 'tis true, I have gone here and there, +And made my self a motley to the view, +Gored mine own thoughts, sold cheap what is most dear, +Made old offences of affections new. +Most true it is, that I have looked on truth +Askance and strangely: but by all above, +These blenches gave my heart another youth, +And worse essays proved thee my best of love. +Now all is done, have what shall have no end, +Mine appetite I never more will grind +On newer proof, to try an older friend, +A god in love, to whom I am confined. +Then give me welcome, next my heaven the best, +Even to thy pure and most most loving breast. + + + +O for my sake do you with Fortune chide, +The guilty goddess of my harmful deeds, +That did not better for my life provide, +Than public means which public manners breeds. +Thence comes it that my name receives a brand, +And almost thence my nature is subdued +To what it works in, like the dyer's hand: +Pity me then, and wish I were renewed, +Whilst like a willing patient I will drink, +Potions of eisel 'gainst my strong infection, +No bitterness that I will bitter think, +Nor double penance to correct correction. +Pity me then dear friend, and I assure ye, +Even that your pity is enough to cure me. + + + +Your love and pity doth th' impression fill, +Which vulgar scandal stamped upon my brow, +For what care I who calls me well or ill, +So you o'er-green my bad, my good allow? +You are my all the world, and I must strive, +To know my shames and praises from your tongue, +None else to me, nor I to none alive, +That my steeled sense or changes right or wrong. +In so profound abysm I throw all care +Of others' voices, that my adder's sense, +To critic and to flatterer stopped are: +Mark how with my neglect I do dispense. +You are so strongly in my purpose bred, +That all the world besides methinks are dead. + + + +Since I left you, mine eye is in my mind, +And that which governs me to go about, +Doth part his function, and is partly blind, +Seems seeing, but effectually is out: +For it no form delivers to the heart +Of bird, of flower, or shape which it doth latch, +Of his quick objects hath the mind no part, +Nor his own vision holds what it doth catch: +For if it see the rud'st or gentlest sight, +The most sweet favour or deformed'st creature, +The mountain, or the sea, the day, or night: +The crow, or dove, it shapes them to your feature. +Incapable of more, replete with you, +My most true mind thus maketh mine untrue. + + + +Or whether doth my mind being crowned with you +Drink up the monarch's plague this flattery? +Or whether shall I say mine eye saith true, +And that your love taught it this alchemy? +To make of monsters, and things indigest, +Such cherubins as your sweet self resemble, +Creating every bad a perfect best +As fast as objects to his beams assemble: +O 'tis the first, 'tis flattery in my seeing, +And my great mind most kingly drinks it up, +Mine eye well knows what with his gust is 'greeing, +And to his palate doth prepare the cup. +If it be poisoned, 'tis the lesser sin, +That mine eye loves it and doth first begin. + + + +Those lines that I before have writ do lie, +Even those that said I could not love you dearer, +Yet then my judgment knew no reason why, +My most full flame should afterwards burn clearer, +But reckoning time, whose millioned accidents +Creep in 'twixt vows, and change decrees of kings, +Tan sacred beauty, blunt the sharp'st intents, +Divert strong minds to the course of alt'ring things: +Alas why fearing of time's tyranny, +Might I not then say 'Now I love you best,' +When I was certain o'er incertainty, +Crowning the present, doubting of the rest? +Love is a babe, then might I not say so +To give full growth to that which still doth grow. + + + +Let me not to the marriage of true minds +Admit impediments, love is not love +Which alters when it alteration finds, +Or bends with the remover to remove. +O no, it is an ever-fixed mark +That looks on tempests and is never shaken; +It is the star to every wand'ring bark, +Whose worth's unknown, although his height be taken. +Love's not Time's fool, though rosy lips and cheeks +Within his bending sickle's compass come, +Love alters not with his brief hours and weeks, +But bears it out even to the edge of doom: +If this be error and upon me proved, +I never writ, nor no man ever loved. + + + +Accuse me thus, that I have scanted all, +Wherein I should your great deserts repay, +Forgot upon your dearest love to call, +Whereto all bonds do tie me day by day, +That I have frequent been with unknown minds, +And given to time your own dear-purchased right, +That I have hoisted sail to all the winds +Which should transport me farthest from your sight. +Book both my wilfulness and errors down, +And on just proof surmise, accumulate, +Bring me within the level of your frown, +But shoot not at me in your wakened hate: +Since my appeal says I did strive to prove +The constancy and virtue of your love. + + + +Like as to make our appetite more keen +With eager compounds we our palate urge, +As to prevent our maladies unseen, +We sicken to shun sickness when we purge. +Even so being full of your ne'er-cloying sweetness, +To bitter sauces did I frame my feeding; +And sick of welfare found a kind of meetness, +To be diseased ere that there was true needing. +Thus policy in love t' anticipate +The ills that were not, grew to faults assured, +And brought to medicine a healthful state +Which rank of goodness would by ill be cured. +But thence I learn and find the lesson true, +Drugs poison him that so feil sick of you. + + + +What potions have I drunk of Siren tears +Distilled from limbecks foul as hell within, +Applying fears to hopes, and hopes to fears, +Still losing when I saw my self to win! +What wretched errors hath my heart committed, +Whilst it hath thought it self so blessed never! +How have mine eyes out of their spheres been fitted +In the distraction of this madding fever! +O benefit of ill, now I find true +That better is, by evil still made better. +And ruined love when it is built anew +Grows fairer than at first, more strong, far greater. +So I return rebuked to my content, +And gain by ills thrice more than I have spent. + + + +That you were once unkind befriends me now, +And for that sorrow, which I then did feel, +Needs must I under my transgression bow, +Unless my nerves were brass or hammered steel. +For if you were by my unkindness shaken +As I by yours, y'have passed a hell of time, +And I a tyrant have no leisure taken +To weigh how once I suffered in your crime. +O that our night of woe might have remembered +My deepest sense, how hard true sorrow hits, +And soon to you, as you to me then tendered +The humble salve, which wounded bosoms fits! +But that your trespass now becomes a fee, +Mine ransoms yours, and yours must ransom me. + + + +'Tis better to be vile than vile esteemed, +When not to be, receives reproach of being, +And the just pleasure lost, which is so deemed, +Not by our feeling, but by others' seeing. +For why should others' false adulterate eyes +Give salutation to my sportive blood? +Or on my frailties why are frailer spies, +Which in their wills count bad what I think good? +No, I am that I am, and they that level +At my abuses, reckon up their own, +I may be straight though they themselves be bevel; +By their rank thoughts, my deeds must not be shown +Unless this general evil they maintain, +All men are bad and in their badness reign. + + + +Thy gift, thy tables, are within my brain +Full charactered with lasting memory, +Which shall above that idle rank remain +Beyond all date even to eternity. +Or at the least, so long as brain and heart +Have faculty by nature to subsist, +Till each to razed oblivion yield his part +Of thee, thy record never can be missed: +That poor retention could not so much hold, +Nor need I tallies thy dear love to score, +Therefore to give them from me was I bold, +To trust those tables that receive thee more: +To keep an adjunct to remember thee +Were to import forgetfulness in me. + + + +No! Time, thou shalt not boast that I do change, +Thy pyramids built up with newer might +To me are nothing novel, nothing strange, +They are but dressings Of a former sight: +Our dates are brief, and therefore we admire, +What thou dost foist upon us that is old, +And rather make them born to our desire, +Than think that we before have heard them told: +Thy registers and thee I both defy, +Not wond'ring at the present, nor the past, +For thy records, and what we see doth lie, +Made more or less by thy continual haste: +This I do vow and this shall ever be, +I will be true despite thy scythe and thee. + + + +If my dear love were but the child of state, +It might for Fortune's bastard be unfathered, +As subject to time's love or to time's hate, +Weeds among weeds, or flowers with flowers gathered. +No it was builded far from accident, +It suffers not in smiling pomp, nor falls +Under the blow of thralled discontent, +Whereto th' inviting time our fashion calls: +It fears not policy that heretic, +Which works on leases of short-numbered hours, +But all alone stands hugely politic, +That it nor grows with heat, nor drowns with showers. +To this I witness call the fools of time, +Which die for goodness, who have lived for crime. + + + +Were't aught to me I bore the canopy, +With my extern the outward honouring, +Or laid great bases for eternity, +Which proves more short than waste or ruining? +Have I not seen dwellers on form and favour +Lose all, and more by paying too much rent +For compound sweet; forgoing simple savour, +Pitiful thrivers in their gazing spent? +No, let me be obsequious in thy heart, +And take thou my oblation, poor but free, +Which is not mixed with seconds, knows no art, +But mutual render, only me for thee. +Hence, thou suborned informer, a true soul +When most impeached, stands least in thy control. + + + +O thou my lovely boy who in thy power, +Dost hold Time's fickle glass his fickle hour: +Who hast by waning grown, and therein show'st, +Thy lovers withering, as thy sweet self grow'st. +If Nature (sovereign mistress over wrack) +As thou goest onwards still will pluck thee back, +She keeps thee to this purpose, that her skill +May time disgrace, and wretched minutes kill. +Yet fear her O thou minion of her pleasure, +She may detain, but not still keep her treasure! +Her audit (though delayed) answered must be, +And her quietus is to render thee. + + + +In the old age black was not counted fair, +Or if it were it bore not beauty's name: +But now is black beauty's successive heir, +And beauty slandered with a bastard shame, +For since each hand hath put on nature's power, +Fairing the foul with art's false borrowed face, +Sweet beauty hath no name no holy bower, +But is profaned, if not lives in disgrace. +Therefore my mistress' eyes are raven black, +Her eyes so suited, and they mourners seem, +At such who not born fair no beauty lack, +Slandering creation with a false esteem, +Yet so they mourn becoming of their woe, +That every tongue says beauty should look so. + + + +How oft when thou, my music, music play'st, +Upon that blessed wood whose motion sounds +With thy sweet fingers when thou gently sway'st +The wiry concord that mine ear confounds, +Do I envy those jacks that nimble leap, +To kiss the tender inward of thy hand, +Whilst my poor lips which should that harvest reap, +At the wood's boldness by thee blushing stand. +To be so tickled they would change their state +And situation with those dancing chips, +O'er whom thy fingers walk with gentle gait, +Making dead wood more blest than living lips, +Since saucy jacks so happy are in this, +Give them thy fingers, me thy lips to kiss. + + + +Th' expense of spirit in a waste of shame +Is lust in action, and till action, lust +Is perjured, murd'rous, bloody full of blame, +Savage, extreme, rude, cruel, not to trust, +Enjoyed no sooner but despised straight, +Past reason hunted, and no sooner had +Past reason hated as a swallowed bait, +On purpose laid to make the taker mad. +Mad in pursuit and in possession so, +Had, having, and in quest, to have extreme, +A bliss in proof and proved, a very woe, +Before a joy proposed behind a dream. +All this the world well knows yet none knows well, +To shun the heaven that leads men to this hell. + + + +My mistress' eyes are nothing like the sun, +Coral is far more red, than her lips red, +If snow be white, why then her breasts are dun: +If hairs be wires, black wires grow on her head: +I have seen roses damasked, red and white, +But no such roses see I in her cheeks, +And in some perfumes is there more delight, +Than in the breath that from my mistress reeks. +I love to hear her speak, yet well I know, +That music hath a far more pleasing sound: +I grant I never saw a goddess go, +My mistress when she walks treads on the ground. +And yet by heaven I think my love as rare, +As any she belied with false compare. + + + +Thou art as tyrannous, so as thou art, +As those whose beauties proudly make them cruel; +For well thou know'st to my dear doting heart +Thou art the fairest and most precious jewel. +Yet in good faith some say that thee behold, +Thy face hath not the power to make love groan; +To say they err, I dare not be so bold, +Although I swear it to my self alone. +And to be sure that is not false I swear, +A thousand groans but thinking on thy face, +One on another's neck do witness bear +Thy black is fairest in my judgment's place. +In nothing art thou black save in thy deeds, +And thence this slander as I think proceeds. + + + +Thine eyes I love, and they as pitying me, +Knowing thy heart torment me with disdain, +Have put on black, and loving mourners be, +Looking with pretty ruth upon my pain. +And truly not the morning sun of heaven +Better becomes the grey cheeks of the east, +Nor that full star that ushers in the even +Doth half that glory to the sober west +As those two mourning eyes become thy face: +O let it then as well beseem thy heart +To mourn for me since mourning doth thee grace, +And suit thy pity like in every part. +Then will I swear beauty herself is black, +And all they foul that thy complexion lack. + + + +Beshrew that heart that makes my heart to groan +For that deep wound it gives my friend and me; +Is't not enough to torture me alone, +But slave to slavery my sweet'st friend must be? +Me from my self thy cruel eye hath taken, +And my next self thou harder hast engrossed, +Of him, my self, and thee I am forsaken, +A torment thrice three-fold thus to be crossed: +Prison my heart in thy steel bosom's ward, +But then my friend's heart let my poor heart bail, +Whoe'er keeps me, let my heart be his guard, +Thou canst not then use rigour in my gaol. +And yet thou wilt, for I being pent in thee, +Perforce am thine and all that is in me. + + + +So now I have confessed that he is thine, +And I my self am mortgaged to thy will, +My self I'll forfeit, so that other mine, +Thou wilt restore to be my comfort still: +But thou wilt not, nor he will not be free, +For thou art covetous, and he is kind, +He learned but surety-like to write for me, +Under that bond that him as fist doth bind. +The statute of thy beauty thou wilt take, +Thou usurer that put'st forth all to use, +And sue a friend, came debtor for my sake, +So him I lose through my unkind abuse. +Him have I lost, thou hast both him and me, +He pays the whole, and yet am I not free. + + + +Whoever hath her wish, thou hast thy will, +And 'Will' to boot, and 'Will' in over-plus, +More than enough am I that vex thee still, +To thy sweet will making addition thus. +Wilt thou whose will is large and spacious, +Not once vouchsafe to hide my will in thine? +Shall will in others seem right gracious, +And in my will no fair acceptance shine? +The sea all water, yet receives rain still, +And in abundance addeth to his store, +So thou being rich in will add to thy will +One will of mine to make thy large will more. +Let no unkind, no fair beseechers kill, +Think all but one, and me in that one 'Will.' + + + +If thy soul check thee that I come so near, +Swear to thy blind soul that I was thy 'Will', +And will thy soul knows is admitted there, +Thus far for love, my love-suit sweet fulfil. +'Will', will fulfil the treasure of thy love, +Ay, fill it full with wills, and my will one, +In things of great receipt with case we prove, +Among a number one is reckoned none. +Then in the number let me pass untold, +Though in thy store's account I one must be, +For nothing hold me, so it please thee hold, +That nothing me, a something sweet to thee. +Make but my name thy love, and love that still, +And then thou lov'st me for my name is Will. + + + +Thou blind fool Love, what dost thou to mine eyes, +That they behold and see not what they see? +They know what beauty is, see where it lies, +Yet what the best is, take the worst to be. +If eyes corrupt by over-partial looks, +Be anchored in the bay where all men ride, +Why of eyes' falsehood hast thou forged hooks, +Whereto the judgment of my heart is tied? +Why should my heart think that a several plot, +Which my heart knows the wide world's common place? +Or mine eyes seeing this, say this is not +To put fair truth upon so foul a face? +In things right true my heart and eyes have erred, +And to this false plague are they now transferred. + + + +When my love swears that she is made of truth, +I do believe her though I know she lies, +That she might think me some untutored youth, +Unlearned in the world's false subtleties. +Thus vainly thinking that she thinks me young, +Although she knows my days are past the best, +Simply I credit her false-speaking tongue, +On both sides thus is simple truth suppressed: +But wherefore says she not she is unjust? +And wherefore say not I that I am old? +O love's best habit is in seeming trust, +And age in love, loves not to have years told. +Therefore I lie with her, and she with me, +And in our faults by lies we flattered be. + + + +O call not me to justify the wrong, +That thy unkindness lays upon my heart, +Wound me not with thine eye but with thy tongue, +Use power with power, and slay me not by art, +Tell me thou lov'st elsewhere; but in my sight, +Dear heart forbear to glance thine eye aside, +What need'st thou wound with cunning when thy might +Is more than my o'erpressed defence can bide? +Let me excuse thee, ah my love well knows, +Her pretty looks have been mine enemies, +And therefore from my face she turns my foes, +That they elsewhere might dart their injuries: +Yet do not so, but since I am near slain, +Kill me outright with looks, and rid my pain. + + + +Be wise as thou art cruel, do not press +My tongue-tied patience with too much disdain: +Lest sorrow lend me words and words express, +The manner of my pity-wanting pain. +If I might teach thee wit better it were, +Though not to love, yet love to tell me so, +As testy sick men when their deaths be near, +No news but health from their physicians know. +For if I should despair I should grow mad, +And in my madness might speak ill of thee, +Now this ill-wresting world is grown so bad, +Mad slanderers by mad ears believed be. +That I may not be so, nor thou belied, +Bear thine eyes straight, though thy proud heart go wide. + + + +In faith I do not love thee with mine eyes, +For they in thee a thousand errors note, +But 'tis my heart that loves what they despise, +Who in despite of view is pleased to dote. +Nor are mine cars with thy tongue's tune delighted, +Nor tender feeling to base touches prone, +Nor taste, nor smell, desire to be invited +To any sensual feast with thee alone: +But my five wits, nor my five senses can +Dissuade one foolish heart from serving thee, +Who leaves unswayed the likeness of a man, +Thy proud heart's slave and vassal wretch to be: +Only my plague thus far I count my gain, +That she that makes me sin, awards me pain. + + + +Love is my sin, and thy dear virtue hate, +Hate of my sin, grounded on sinful loving, +O but with mine, compare thou thine own state, +And thou shalt find it merits not reproving, +Or if it do, not from those lips of thine, +That have profaned their scarlet ornaments, +And sealed false bonds of love as oft as mine, +Robbed others' beds' revenues of their rents. +Be it lawful I love thee as thou lov'st those, +Whom thine eyes woo as mine importune thee, +Root pity in thy heart that when it grows, +Thy pity may deserve to pitied be. +If thou dost seek to have what thou dost hide, +By self-example mayst thou be denied. + + + +Lo as a careful huswife runs to catch, +One of her feathered creatures broke away, +Sets down her babe and makes all swift dispatch +In pursuit of the thing she would have stay: +Whilst her neglected child holds her in chase, +Cries to catch her whose busy care is bent, +To follow that which flies before her face: +Not prizing her poor infant's discontent; +So run'st thou after that which flies from thee, +Whilst I thy babe chase thee afar behind, +But if thou catch thy hope turn back to me: +And play the mother's part, kiss me, be kind. +So will I pray that thou mayst have thy Will, +If thou turn back and my loud crying still. + + + +Two loves I have of comfort and despair, +Which like two spirits do suggest me still, +The better angel is a man right fair: +The worser spirit a woman coloured ill. +To win me soon to hell my female evil, +Tempteth my better angel from my side, +And would corrupt my saint to be a devil: +Wooing his purity with her foul pride. +And whether that my angel be turned fiend, +Suspect I may, yet not directly tell, +But being both from me both to each friend, +I guess one angel in another's hell. +Yet this shall I ne'er know but live in doubt, +Till my bad angel fire my good one out. + + + +Those lips that Love's own hand did make, +Breathed forth the sound that said 'I hate', +To me that languished for her sake: +But when she saw my woeful state, +Straight in her heart did mercy come, +Chiding that tongue that ever sweet, +Was used in giving gentle doom: +And taught it thus anew to greet: +'I hate' she altered with an end, +That followed it as gentle day, +Doth follow night who like a fiend +From heaven to hell is flown away. +'I hate', from hate away she threw, +And saved my life saying 'not you'. + +Poor soul the centre of my sinful earth, +My sinful earth these rebel powers array, +Why dost thou pine within and suffer dearth +Painting thy outward walls so costly gay? +Why so large cost having so short a lease, +Dost thou upon thy fading mansion spend? +Shall worms inheritors of this excess +Eat up thy charge? is this thy body's end? +Then soul live thou upon thy servant's loss, +And let that pine to aggravate thy store; +Buy terms divine in selling hours of dross; +Within be fed, without be rich no more, +So shall thou feed on death, that feeds on men, +And death once dead, there's no more dying then. + +My love is as a fever longing still, +For that which longer nurseth the disease, +Feeding on that which doth preserve the ill, +Th' uncertain sickly appetite to please: +My reason the physician to my love, +Angry that his prescriptions are not kept +Hath left me, and I desperate now approve, +Desire is death, which physic did except. +Past cure I am, now reason is past care, +And frantic-mad with evermore unrest, +My thoughts and my discourse as mad men's are, +At random from the truth vainly expressed. +For I have sworn thee fair, and thought thee bright, +Who art as black as hell, as dark as night. + +O me! what eyes hath love put in my head, +Which have no correspondence with true sight, +Or if they have, where is my judgment fled, +That censures falsely what they see aright? +If that be fair whereon my false eyes dote, +What means the world to say it is not so? +If it be not, then love doth well denote, +Love's eye is not so true as all men's: no, +How can it? O how can love's eye be true, +That is so vexed with watching and with tears? +No marvel then though I mistake my view, +The sun it self sees not, till heaven clears. +O cunning love, with tears thou keep'st me blind, +Lest eyes well-seeing thy foul faults should find. + +Canst thou O cruel, say I love thee not, +When I against my self with thee partake? +Do I not think on thee when I forgot +Am of my self, all-tyrant, for thy sake? +Who hateth thee that I do call my friend, +On whom frown'st thou that I do fawn upon, +Nay if thou lour'st on me do I not spend +Revenge upon my self with present moan? +What merit do I in my self respect, +That is so proud thy service to despise, +When all my best doth worship thy defect, +Commanded by the motion of thine eyes? +But love hate on for now I know thy mind, +Those that can see thou lov'st, and I am blind. + +O from what power hast thou this powerful might, +With insufficiency my heart to sway, +To make me give the lie to my true sight, +And swear that brightness doth not grace the day? +Whence hast thou this becoming of things ill, +That in the very refuse of thy deeds, +There is such strength and warrantise of skill, +That in my mind thy worst all best exceeds? +Who taught thee how to make me love thee more, +The more I hear and see just cause of hate? +O though I love what others do abhor, +With others thou shouldst not abhor my state. +If thy unworthiness raised love in me, +More worthy I to be beloved of thee. + +Love is too young to know what conscience is, +Yet who knows not conscience is born of love? +Then gentle cheater urge not my amiss, +Lest guilty of my faults thy sweet self prove. +For thou betraying me, I do betray +My nobler part to my gross body's treason, +My soul doth tell my body that he may, +Triumph in love, flesh stays no farther reason, +But rising at thy name doth point out thee, +As his triumphant prize, proud of this pride, +He is contented thy poor drudge to be, +To stand in thy affairs, fall by thy side. +No want of conscience hold it that I call, +Her love, for whose dear love I rise and fall. + +In loving thee thou know'st I am forsworn, +But thou art twice forsworn to me love swearing, +In act thy bed-vow broke and new faith torn, +In vowing new hate after new love bearing: +But why of two oaths' breach do I accuse thee, +When I break twenty? I am perjured most, +For all my vows are oaths but to misuse thee: +And all my honest faith in thee is lost. +For I have sworn deep oaths of thy deep kindness: +Oaths of thy love, thy truth, thy constancy, +And to enlighten thee gave eyes to blindness, +Or made them swear against the thing they see. +For I have sworn thee fair: more perjured I, +To swear against the truth so foul a be. + +Cupid laid by his brand and fell asleep, +A maid of Dian's this advantage found, +And his love-kindling fire did quickly steep +In a cold valley-fountain of that ground: +Which borrowed from this holy fire of Love, +A dateless lively heat still to endure, +And grew a seeting bath which yet men prove, +Against strange maladies a sovereign cure: +But at my mistress' eye Love's brand new-fired, +The boy for trial needs would touch my breast, +I sick withal the help of bath desired, +And thither hied a sad distempered guest. +But found no cure, the bath for my help lies, +Where Cupid got new fire; my mistress' eyes. + +The little Love-god lying once asleep, +Laid by his side his heart-inflaming brand, +Whilst many nymphs that vowed chaste life to keep, +Came tripping by, but in her maiden hand, +The fairest votary took up that fire, +Which many legions of true hearts had warmed, +And so the general of hot desire, +Was sleeping by a virgin hand disarmed. +This brand she quenched in a cool well by, +Which from Love's fire took heat perpetual, +Growing a bath and healthful remedy, +For men discased, but I my mistress' thrall, +Came there for cure and this by that I prove, +Love's fire heats water, water cools not love. + + + THE END \ No newline at end of file From 013b653fa11736903d2be0df64d11f9b61a3ca5b Mon Sep 17 00:00:00 2001 From: jazelly Date: Sun, 5 May 2024 18:29:25 +0930 Subject: [PATCH 08/96] chore: update README --- README.md | 57 ++++++++++++++++++++++++--------------------------- mac/README.md | 12 +++++++++++ 2 files changed, 39 insertions(+), 30 deletions(-) create mode 100644 mac/README.md diff --git a/README.md b/README.md index 7045ca3..c8dd57c 100644 --- a/README.md +++ b/README.md @@ -5,51 +5,48 @@ This repo aims to provide the finest collection of all tuning scripts that can b Every training script in this repo is tested across multiple platforms. -## Install dependencies +## General Setup -### Install pytorch +- Install pytorch -The easist way to do this is via conda. If you don't have conda, please go to [the installation guide](https://conda.io/projects/conda/en/latest/user-guide/install/index.html) + The easist way to do this is via conda. If you don't have conda, please go to [the installation guide](https://conda.io/projects/conda/en/latest/user-guide/install/index.html) -``` -conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia -``` + ``` + conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia + ``` -If you don't want to use conda, I recommend virtual env for different LLMs, as they have different requirements + If you don't want to use conda, I recommend virtual env for different LLMs, as they have different requirements -#### For Linux +- For Linux -Install CUDA from [Nvidia installation guide](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/) + Install CUDA from [Nvidia installation guide](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/) -``` -cd llama2 -python3 -m venv .llama2 -source ./.llama2/bin/activate -pip3 install torch -pip3 install -r requirements.txt -``` + ``` + cd llama2 + python3 -m venv .llama2 + source ./.llama2/bin/activate + pip3 install torch + pip3 install -r requirements.txt + ``` -#### For Windows +- For Windows (with Nvidia GPU) -Enable WSL2 on your machine. + Enable WSL2 on your machine. -Install CUDA inside WSL by following the Linux guide. + Install CUDA from [Nvidia installation guide](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/) -#### For Mac +- For Mac -Incoming, with mlx + Refer to [mac/README.md](./mac/README.md) - -## Usage - -LLM scripts are categorized by their names. Under each, you will see `notebook/`, for `jupyter notebook`, and `script/`, for `python` scripts. They should share same dependencies. -The training dataset or logic, however, might not be the same, as the purpose of this repo is to share various different examples of finetuning scripts so you can grasp the ideas. +Please note, there might be other dependencies for different model training techniques. Please refer to specific `README` under those model directories. ## TODO -- [ ] Try training at GGML and GGUF level -- [ ] Explore OLLAMA -- [ ] Explore mlx examples -- [ ] Explore Finetuning Model in LangChain with OLLAMA \ No newline at end of file +- [x] Support training at GGUF level +- [x] Explore `ollama` and `llama.cpp` +- [ ] Explore `mlx-examples` +- [ ] Support other models than LLAMA +- [ ] Explore `pykan` diff --git a/mac/README.md b/mac/README.md new file mode 100644 index 0000000..99110df --- /dev/null +++ b/mac/README.md @@ -0,0 +1,12 @@ +## Finetune LLM on MacOS + +Currently there are 2 ways supported. + +1. in slowllama - under this dir +2. in llama.cpp - refer to [llama-gguf/README.md](../llama-gguf/README.md) + +Both only support LLAMA based models. + +## Slowllama + +Slowllama is a python project purely focusing on finetuning LLAMA model on MacBook. It offloads weights to SSD to support training of large-sized model, i.e. with 70B. From c0bfdf0464107a42fc3a5bcc6d9eda947593f0d3 Mon Sep 17 00:00:00 2001 From: jazelly Date: Sun, 5 May 2024 18:46:52 +0930 Subject: [PATCH 09/96] chore: remove train text --- llama-gguf/shakespeare.txt | 2469 ------------------------------------ 1 file changed, 2469 deletions(-) delete mode 100644 llama-gguf/shakespeare.txt diff --git a/llama-gguf/shakespeare.txt b/llama-gguf/shakespeare.txt deleted file mode 100644 index dce66b2..0000000 --- a/llama-gguf/shakespeare.txt +++ /dev/null @@ -1,2469 +0,0 @@ -THE SONNETS - -by William Shakespeare - -From fairest creatures we desire increase, -That thereby beauty's rose might never die, -But as the riper should by time decease, -His tender heir might bear his memory: -But thou contracted to thine own bright eyes, -Feed'st thy light's flame with self-substantial fuel, -Making a famine where abundance lies, -Thy self thy foe, to thy sweet self too cruel: -Thou that art now the world's fresh ornament, -And only herald to the gaudy spring, -Within thine own bud buriest thy content, -And tender churl mak'st waste in niggarding: -Pity the world, or else this glutton be, -To eat the world's due, by the grave and thee. - -When forty winters shall besiege thy brow, -And dig deep trenches in thy beauty's field, -Thy youth's proud livery so gazed on now, -Will be a tattered weed of small worth held: -Then being asked, where all thy beauty lies, -Where all the treasure of thy lusty days; -To say within thine own deep sunken eyes, -Were an all-eating shame, and thriftless praise. -How much more praise deserved thy beauty's use, -If thou couldst answer 'This fair child of mine -Shall sum my count, and make my old excuse' -Proving his beauty by succession thine. -This were to be new made when thou art old, -And see thy blood warm when thou feel'st it cold. - -Look in thy glass and tell the face thou viewest, -Now is the time that face should form another, -Whose fresh repair if now thou not renewest, -Thou dost beguile the world, unbless some mother. -For where is she so fair whose uneared womb -Disdains the tillage of thy husbandry? -Or who is he so fond will be the tomb, -Of his self-love to stop posterity? -Thou art thy mother's glass and she in thee -Calls back the lovely April of her prime, -So thou through windows of thine age shalt see, -Despite of wrinkles this thy golden time. -But if thou live remembered not to be, -Die single and thine image dies with thee. - -Unthrifty loveliness why dost thou spend, -Upon thy self thy beauty's legacy? -Nature's bequest gives nothing but doth lend, -And being frank she lends to those are free: -Then beauteous niggard why dost thou abuse, -The bounteous largess given thee to give? -Profitless usurer why dost thou use -So great a sum of sums yet canst not live? -For having traffic with thy self alone, -Thou of thy self thy sweet self dost deceive, -Then how when nature calls thee to be gone, -What acceptable audit canst thou leave? -Thy unused beauty must be tombed with thee, -Which used lives th' executor to be. - -Those hours that with gentle work did frame -The lovely gaze where every eye doth dwell -Will play the tyrants to the very same, -And that unfair which fairly doth excel: -For never-resting time leads summer on -To hideous winter and confounds him there, -Sap checked with frost and lusty leaves quite gone, -Beauty o'er-snowed and bareness every where: -Then were not summer's distillation left -A liquid prisoner pent in walls of glass, -Beauty's effect with beauty were bereft, -Nor it nor no remembrance what it was. -But flowers distilled though they with winter meet, -Leese but their show, their substance still lives sweet. - -Then let not winter's ragged hand deface, -In thee thy summer ere thou be distilled: -Make sweet some vial; treasure thou some place, -With beauty's treasure ere it be self-killed: -That use is not forbidden usury, -Which happies those that pay the willing loan; -That's for thy self to breed another thee, -Or ten times happier be it ten for one, -Ten times thy self were happier than thou art, -If ten of thine ten times refigured thee: -Then what could death do if thou shouldst depart, -Leaving thee living in posterity? -Be not self-willed for thou art much too fair, -To be death's conquest and make worms thine heir. - -Lo in the orient when the gracious light -Lifts up his burning head, each under eye -Doth homage to his new-appearing sight, -Serving with looks his sacred majesty, -And having climbed the steep-up heavenly hill, -Resembling strong youth in his middle age, -Yet mortal looks adore his beauty still, -Attending on his golden pilgrimage: -But when from highmost pitch with weary car, -Like feeble age he reeleth from the day, -The eyes (fore duteous) now converted are -From his low tract and look another way: -So thou, thy self out-going in thy noon: -Unlooked on diest unless thou get a son. - -Music to hear, why hear'st thou music sadly? -Sweets with sweets war not, joy delights in joy: -Why lov'st thou that which thou receiv'st not gladly, -Or else receiv'st with pleasure thine annoy? -If the true concord of well-tuned sounds, -By unions married do offend thine ear, -They do but sweetly chide thee, who confounds -In singleness the parts that thou shouldst bear: -Mark how one string sweet husband to another, -Strikes each in each by mutual ordering; -Resembling sire, and child, and happy mother, -Who all in one, one pleasing note do sing: -Whose speechless song being many, seeming one, -Sings this to thee, 'Thou single wilt prove none'. - -Is it for fear to wet a widow's eye, -That thou consum'st thy self in single life? -Ah, if thou issueless shalt hap to die, -The world will wail thee like a makeless wife, -The world will be thy widow and still weep, -That thou no form of thee hast left behind, -When every private widow well may keep, -By children's eyes, her husband's shape in mind: -Look what an unthrift in the world doth spend -Shifts but his place, for still the world enjoys it; -But beauty's waste hath in the world an end, -And kept unused the user so destroys it: -No love toward others in that bosom sits -That on himself such murd'rous shame commits. - -For shame deny that thou bear'st love to any -Who for thy self art so unprovident. -Grant if thou wilt, thou art beloved of many, -But that thou none lov'st is most evident: -For thou art so possessed with murd'rous hate, -That 'gainst thy self thou stick'st not to conspire, -Seeking that beauteous roof to ruinate -Which to repair should be thy chief desire: -O change thy thought, that I may change my mind, -Shall hate be fairer lodged than gentle love? -Be as thy presence is gracious and kind, -Or to thy self at least kind-hearted prove, -Make thee another self for love of me, -That beauty still may live in thine or thee. - -As fast as thou shalt wane so fast thou grow'st, -In one of thine, from that which thou departest, -And that fresh blood which youngly thou bestow'st, -Thou mayst call thine, when thou from youth convertest, -Herein lives wisdom, beauty, and increase, -Without this folly, age, and cold decay, -If all were minded so, the times should cease, -And threescore year would make the world away: -Let those whom nature hath not made for store, -Harsh, featureless, and rude, barrenly perish: -Look whom she best endowed, she gave thee more; -Which bounteous gift thou shouldst in bounty cherish: -She carved thee for her seal, and meant thereby, -Thou shouldst print more, not let that copy die. - -When I do count the clock that tells the time, -And see the brave day sunk in hideous night, -When I behold the violet past prime, -And sable curls all silvered o'er with white: -When lofty trees I see barren of leaves, -Which erst from heat did canopy the herd -And summer's green all girded up in sheaves -Borne on the bier with white and bristly beard: -Then of thy beauty do I question make -That thou among the wastes of time must go, -Since sweets and beauties do themselves forsake, -And die as fast as they see others grow, -And nothing 'gainst Time's scythe can make defence -Save breed to brave him, when he takes thee hence. - -O that you were your self, but love you are -No longer yours, than you your self here live, -Against this coming end you should prepare, -And your sweet semblance to some other give. -So should that beauty which you hold in lease -Find no determination, then you were -Your self again after your self's decease, -When your sweet issue your sweet form should bear. -Who lets so fair a house fall to decay, -Which husbandry in honour might uphold, -Against the stormy gusts of winter's day -And barren rage of death's eternal cold? -O none but unthrifts, dear my love you know, -You had a father, let your son say so. - -Not from the stars do I my judgement pluck, -And yet methinks I have astronomy, -But not to tell of good, or evil luck, -Of plagues, of dearths, or seasons' quality, -Nor can I fortune to brief minutes tell; -Pointing to each his thunder, rain and wind, -Or say with princes if it shall go well -By oft predict that I in heaven find. -But from thine eyes my knowledge I derive, -And constant stars in them I read such art -As truth and beauty shall together thrive -If from thy self, to store thou wouldst convert: -Or else of thee this I prognosticate, -Thy end is truth's and beauty's doom and date. - -When I consider every thing that grows -Holds in perfection but a little moment. -That this huge stage presenteth nought but shows -Whereon the stars in secret influence comment. -When I perceive that men as plants increase, -Cheered and checked even by the self-same sky: -Vaunt in their youthful sap, at height decrease, -And wear their brave state out of memory. -Then the conceit of this inconstant stay, -Sets you most rich in youth before my sight, -Where wasteful time debateth with decay -To change your day of youth to sullied night, -And all in war with Time for love of you, -As he takes from you, I engraft you new. - -But wherefore do not you a mightier way -Make war upon this bloody tyrant Time? -And fortify your self in your decay -With means more blessed than my barren rhyme? -Now stand you on the top of happy hours, -And many maiden gardens yet unset, -With virtuous wish would bear you living flowers, -Much liker than your painted counterfeit: -So should the lines of life that life repair -Which this (Time's pencil) or my pupil pen -Neither in inward worth nor outward fair -Can make you live your self in eyes of men. -To give away your self, keeps your self still, -And you must live drawn by your own sweet skill. - -Who will believe my verse in time to come -If it were filled with your most high deserts? -Though yet heaven knows it is but as a tomb -Which hides your life, and shows not half your parts: -If I could write the beauty of your eyes, -And in fresh numbers number all your graces, -The age to come would say this poet lies, -Such heavenly touches ne'er touched earthly faces. -So should my papers (yellowed with their age) -Be scorned, like old men of less truth than tongue, -And your true rights be termed a poet's rage, -And stretched metre of an antique song. -But were some child of yours alive that time, -You should live twice in it, and in my rhyme. - -Shall I compare thee to a summer's day? -Thou art more lovely and more temperate: -Rough winds do shake the darling buds of May, -And summer's lease hath all too short a date: -Sometime too hot the eye of heaven shines, -And often is his gold complexion dimmed, -And every fair from fair sometime declines, -By chance, or nature's changing course untrimmed: -But thy eternal summer shall not fade, -Nor lose possession of that fair thou ow'st, -Nor shall death brag thou wand'rest in his shade, -When in eternal lines to time thou grow'st, -So long as men can breathe or eyes can see, -So long lives this, and this gives life to thee. - -Devouring Time blunt thou the lion's paws, -And make the earth devour her own sweet brood, -Pluck the keen teeth from the fierce tiger's jaws, -And burn the long-lived phoenix, in her blood, -Make glad and sorry seasons as thou fleet'st, -And do whate'er thou wilt swift-footed Time -To the wide world and all her fading sweets: -But I forbid thee one most heinous crime, -O carve not with thy hours my love's fair brow, -Nor draw no lines there with thine antique pen, -Him in thy course untainted do allow, -For beauty's pattern to succeeding men. -Yet do thy worst old Time: despite thy wrong, -My love shall in my verse ever live young. - -A woman's face with nature's own hand painted, -Hast thou the master mistress of my passion, -A woman's gentle heart but not acquainted -With shifting change as is false women's fashion, -An eye more bright than theirs, less false in rolling: -Gilding the object whereupon it gazeth, -A man in hue all hues in his controlling, -Which steals men's eyes and women's souls amazeth. -And for a woman wert thou first created, -Till nature as she wrought thee fell a-doting, -And by addition me of thee defeated, -By adding one thing to my purpose nothing. -But since she pricked thee out for women's pleasure, -Mine be thy love and thy love's use their treasure. - -So is it not with me as with that muse, -Stirred by a painted beauty to his verse, -Who heaven it self for ornament doth use, -And every fair with his fair doth rehearse, -Making a couplement of proud compare -With sun and moon, with earth and sea's rich gems: -With April's first-born flowers and all things rare, -That heaven's air in this huge rondure hems. -O let me true in love but truly write, -And then believe me, my love is as fair, -As any mother's child, though not so bright -As those gold candles fixed in heaven's air: -Let them say more that like of hearsay well, -I will not praise that purpose not to sell. - -My glass shall not persuade me I am old, -So long as youth and thou are of one date, -But when in thee time's furrows I behold, -Then look I death my days should expiate. -For all that beauty that doth cover thee, -Is but the seemly raiment of my heart, -Which in thy breast doth live, as thine in me, -How can I then be elder than thou art? -O therefore love be of thyself so wary, -As I not for my self, but for thee will, -Bearing thy heart which I will keep so chary -As tender nurse her babe from faring ill. -Presume not on thy heart when mine is slain, -Thou gav'st me thine not to give back again. - -As an unperfect actor on the stage, -Who with his fear is put beside his part, -Or some fierce thing replete with too much rage, -Whose strength's abundance weakens his own heart; -So I for fear of trust, forget to say, -The perfect ceremony of love's rite, -And in mine own love's strength seem to decay, -O'ercharged with burthen of mine own love's might: -O let my looks be then the eloquence, -And dumb presagers of my speaking breast, -Who plead for love, and look for recompense, -More than that tongue that more hath more expressed. -O learn to read what silent love hath writ, -To hear with eyes belongs to love's fine wit. - -Mine eye hath played the painter and hath stelled, -Thy beauty's form in table of my heart, -My body is the frame wherein 'tis held, -And perspective it is best painter's art. -For through the painter must you see his skill, -To find where your true image pictured lies, -Which in my bosom's shop is hanging still, -That hath his windows glazed with thine eyes: -Now see what good turns eyes for eyes have done, -Mine eyes have drawn thy shape, and thine for me -Are windows to my breast, where-through the sun -Delights to peep, to gaze therein on thee; -Yet eyes this cunning want to grace their art, -They draw but what they see, know not the heart. - -Let those who are in favour with their stars, -Of public honour and proud titles boast, -Whilst I whom fortune of such triumph bars -Unlooked for joy in that I honour most; -Great princes' favourites their fair leaves spread, -But as the marigold at the sun's eye, -And in themselves their pride lies buried, -For at a frown they in their glory die. -The painful warrior famoused for fight, -After a thousand victories once foiled, -Is from the book of honour razed quite, -And all the rest forgot for which he toiled: -Then happy I that love and am beloved -Where I may not remove nor be removed. - -Lord of my love, to whom in vassalage -Thy merit hath my duty strongly knit; -To thee I send this written embassage -To witness duty, not to show my wit. -Duty so great, which wit so poor as mine -May make seem bare, in wanting words to show it; -But that I hope some good conceit of thine -In thy soul's thought (all naked) will bestow it: -Till whatsoever star that guides my moving, -Points on me graciously with fair aspect, -And puts apparel on my tattered loving, -To show me worthy of thy sweet respect, -Then may I dare to boast how I do love thee, -Till then, not show my head where thou mayst prove me. - -Weary with toil, I haste me to my bed, -The dear respose for limbs with travel tired, -But then begins a journey in my head -To work my mind, when body's work's expired. -For then my thoughts (from far where I abide) -Intend a zealous pilgrimage to thee, -And keep my drooping eyelids open wide, -Looking on darkness which the blind do see. -Save that my soul's imaginary sight -Presents thy shadow to my sightless view, -Which like a jewel (hung in ghastly night) -Makes black night beauteous, and her old face new. -Lo thus by day my limbs, by night my mind, -For thee, and for my self, no quiet find. - -How can I then return in happy plight -That am debarred the benefit of rest? -When day's oppression is not eased by night, -But day by night and night by day oppressed. -And each (though enemies to either's reign) -Do in consent shake hands to torture me, -The one by toil, the other to complain -How far I toil, still farther off from thee. -I tell the day to please him thou art bright, -And dost him grace when clouds do blot the heaven: -So flatter I the swart-complexioned night, -When sparkling stars twire not thou gild'st the even. -But day doth daily draw my sorrows longer, -And night doth nightly make grief's length seem stronger - -When in disgrace with Fortune and men's eyes, -I all alone beweep my outcast state, -And trouble deaf heaven with my bootless cries, -And look upon my self and curse my fate, -Wishing me like to one more rich in hope, -Featured like him, like him with friends possessed, -Desiring this man's art, and that man's scope, -With what I most enjoy contented least, -Yet in these thoughts my self almost despising, -Haply I think on thee, and then my state, -(Like to the lark at break of day arising -From sullen earth) sings hymns at heaven's gate, -For thy sweet love remembered such wealth brings, -That then I scorn to change my state with kings. - -When to the sessions of sweet silent thought, -I summon up remembrance of things past, -I sigh the lack of many a thing I sought, -And with old woes new wail my dear time's waste: -Then can I drown an eye (unused to flow) -For precious friends hid in death's dateless night, -And weep afresh love's long since cancelled woe, -And moan th' expense of many a vanished sight. -Then can I grieve at grievances foregone, -And heavily from woe to woe tell o'er -The sad account of fore-bemoaned moan, -Which I new pay as if not paid before. -But if the while I think on thee (dear friend) -All losses are restored, and sorrows end. - -Thy bosom is endeared with all hearts, -Which I by lacking have supposed dead, -And there reigns love and all love's loving parts, -And all those friends which I thought buried. -How many a holy and obsequious tear -Hath dear religious love stol'n from mine eye, -As interest of the dead, which now appear, -But things removed that hidden in thee lie. -Thou art the grave where buried love doth live, -Hung with the trophies of my lovers gone, -Who all their parts of me to thee did give, -That due of many, now is thine alone. -Their images I loved, I view in thee, -And thou (all they) hast all the all of me. - -If thou survive my well-contented day, -When that churl death my bones with dust shall cover -And shalt by fortune once more re-survey -These poor rude lines of thy deceased lover: -Compare them with the bett'ring of the time, -And though they be outstripped by every pen, -Reserve them for my love, not for their rhyme, -Exceeded by the height of happier men. -O then vouchsafe me but this loving thought, -'Had my friend's Muse grown with this growing age, -A dearer birth than this his love had brought -To march in ranks of better equipage: -But since he died and poets better prove, -Theirs for their style I'll read, his for his love'. - -Full many a glorious morning have I seen, -Flatter the mountain tops with sovereign eye, -Kissing with golden face the meadows green; -Gilding pale streams with heavenly alchemy: -Anon permit the basest clouds to ride, -With ugly rack on his celestial face, -And from the forlorn world his visage hide -Stealing unseen to west with this disgrace: -Even so my sun one early morn did shine, -With all triumphant splendour on my brow, -But out alack, he was but one hour mine, -The region cloud hath masked him from me now. -Yet him for this, my love no whit disdaineth, -Suns of the world may stain, when heaven's sun staineth. - -Why didst thou promise such a beauteous day, -And make me travel forth without my cloak, -To let base clouds o'ertake me in my way, -Hiding thy brav'ry in their rotten smoke? -'Tis not enough that through the cloud thou break, -To dry the rain on my storm-beaten face, -For no man well of such a salve can speak, -That heals the wound, and cures not the disgrace: -Nor can thy shame give physic to my grief, -Though thou repent, yet I have still the loss, -Th' offender's sorrow lends but weak relief -To him that bears the strong offence's cross. -Ah but those tears are pearl which thy love sheds, -And they are rich, and ransom all ill deeds. - - - -No more be grieved at that which thou hast done, -Roses have thorns, and silver fountains mud, -Clouds and eclipses stain both moon and sun, -And loathsome canker lives in sweetest bud. -All men make faults, and even I in this, -Authorizing thy trespass with compare, -My self corrupting salving thy amiss, -Excusing thy sins more than thy sins are: -For to thy sensual fault I bring in sense, -Thy adverse party is thy advocate, -And 'gainst my self a lawful plea commence: -Such civil war is in my love and hate, -That I an accessary needs must be, -To that sweet thief which sourly robs from me. - -Let me confess that we two must be twain, -Although our undivided loves are one: -So shall those blots that do with me remain, -Without thy help, by me be borne alone. -In our two loves there is but one respect, -Though in our lives a separable spite, -Which though it alter not love's sole effect, -Yet doth it steal sweet hours from love's delight. -I may not evermore acknowledge thee, -Lest my bewailed guilt should do thee shame, -Nor thou with public kindness honour me, -Unless thou take that honour from thy name: -But do not so, I love thee in such sort, -As thou being mine, mine is thy good report. - -As a decrepit father takes delight, -To see his active child do deeds of youth, -So I, made lame by Fortune's dearest spite -Take all my comfort of thy worth and truth. -For whether beauty, birth, or wealth, or wit, -Or any of these all, or all, or more -Entitled in thy parts, do crowned sit, -I make my love engrafted to this store: -So then I am not lame, poor, nor despised, -Whilst that this shadow doth such substance give, -That I in thy abundance am sufficed, -And by a part of all thy glory live: -Look what is best, that best I wish in thee, -This wish I have, then ten times happy me. - -How can my muse want subject to invent -While thou dost breathe that pour'st into my verse, -Thine own sweet argument, too excellent, -For every vulgar paper to rehearse? -O give thy self the thanks if aught in me, -Worthy perusal stand against thy sight, -For who's so dumb that cannot write to thee, -When thou thy self dost give invention light? -Be thou the tenth Muse, ten times more in worth -Than those old nine which rhymers invocate, -And he that calls on thee, let him bring forth -Eternal numbers to outlive long date. -If my slight muse do please these curious days, -The pain be mine, but thine shall be the praise. - -O how thy worth with manners may I sing, -When thou art all the better part of me? -What can mine own praise to mine own self bring: -And what is't but mine own when I praise thee? -Even for this, let us divided live, -And our dear love lose name of single one, -That by this separation I may give: -That due to thee which thou deserv'st alone: -O absence what a torment wouldst thou prove, -Were it not thy sour leisure gave sweet leave, -To entertain the time with thoughts of love, -Which time and thoughts so sweetly doth deceive. -And that thou teachest how to make one twain, -By praising him here who doth hence remain. - -Take all my loves, my love, yea take them all, -What hast thou then more than thou hadst before? -No love, my love, that thou mayst true love call, -All mine was thine, before thou hadst this more: -Then if for my love, thou my love receivest, -I cannot blame thee, for my love thou usest, -But yet be blamed, if thou thy self deceivest -By wilful taste of what thy self refusest. -I do forgive thy robbery gentle thief -Although thou steal thee all my poverty: -And yet love knows it is a greater grief -To bear greater wrong, than hate's known injury. -Lascivious grace, in whom all ill well shows, -Kill me with spites yet we must not be foes. - -Those pretty wrongs that liberty commits, -When I am sometime absent from thy heart, -Thy beauty, and thy years full well befits, -For still temptation follows where thou art. -Gentle thou art, and therefore to be won, -Beauteous thou art, therefore to be assailed. -And when a woman woos, what woman's son, -Will sourly leave her till he have prevailed? -Ay me, but yet thou mightst my seat forbear, -And chide thy beauty, and thy straying youth, -Who lead thee in their riot even there -Where thou art forced to break a twofold truth: -Hers by thy beauty tempting her to thee, -Thine by thy beauty being false to me. - -That thou hast her it is not all my grief, -And yet it may be said I loved her dearly, -That she hath thee is of my wailing chief, -A loss in love that touches me more nearly. -Loving offenders thus I will excuse ye, -Thou dost love her, because thou know'st I love her, -And for my sake even so doth she abuse me, -Suff'ring my friend for my sake to approve her. -If I lose thee, my loss is my love's gain, -And losing her, my friend hath found that loss, -Both find each other, and I lose both twain, -And both for my sake lay on me this cross, -But here's the joy, my friend and I are one, -Sweet flattery, then she loves but me alone. - -When most I wink then do mine eyes best see, -For all the day they view things unrespected, -But when I sleep, in dreams they look on thee, -And darkly bright, are bright in dark directed. -Then thou whose shadow shadows doth make bright -How would thy shadow's form, form happy show, -To the clear day with thy much clearer light, -When to unseeing eyes thy shade shines so! -How would (I say) mine eyes be blessed made, -By looking on thee in the living day, -When in dead night thy fair imperfect shade, -Through heavy sleep on sightless eyes doth stay! -All days are nights to see till I see thee, -And nights bright days when dreams do show thee me. - -If the dull substance of my flesh were thought, -Injurious distance should not stop my way, -For then despite of space I would be brought, -From limits far remote, where thou dost stay, -No matter then although my foot did stand -Upon the farthest earth removed from thee, -For nimble thought can jump both sea and land, -As soon as think the place where he would be. -But ah, thought kills me that I am not thought -To leap large lengths of miles when thou art gone, -But that so much of earth and water wrought, -I must attend, time's leisure with my moan. -Receiving nought by elements so slow, -But heavy tears, badges of either's woe. - -The other two, slight air, and purging fire, -Are both with thee, wherever I abide, -The first my thought, the other my desire, -These present-absent with swift motion slide. -For when these quicker elements are gone -In tender embassy of love to thee, -My life being made of four, with two alone, -Sinks down to death, oppressed with melancholy. -Until life's composition be recured, -By those swift messengers returned from thee, -Who even but now come back again assured, -Of thy fair health, recounting it to me. -This told, I joy, but then no longer glad, -I send them back again and straight grow sad. - -Mine eye and heart are at a mortal war, -How to divide the conquest of thy sight, -Mine eye, my heart thy picture's sight would bar, -My heart, mine eye the freedom of that right, -My heart doth plead that thou in him dost lie, -(A closet never pierced with crystal eyes) -But the defendant doth that plea deny, -And says in him thy fair appearance lies. -To side this title is impanelled -A quest of thoughts, all tenants to the heart, -And by their verdict is determined -The clear eye's moiety, and the dear heart's part. -As thus, mine eye's due is thy outward part, -And my heart's right, thy inward love of heart. - -Betwixt mine eye and heart a league is took, -And each doth good turns now unto the other, -When that mine eye is famished for a look, -Or heart in love with sighs himself doth smother; -With my love's picture then my eye doth feast, -And to the painted banquet bids my heart: -Another time mine eye is my heart's guest, -And in his thoughts of love doth share a part. -So either by thy picture or my love, -Thy self away, art present still with me, -For thou not farther than my thoughts canst move, -And I am still with them, and they with thee. -Or if they sleep, thy picture in my sight -Awakes my heart, to heart's and eye's delight. - -How careful was I when I took my way, -Each trifle under truest bars to thrust, -That to my use it might unused stay -From hands of falsehood, in sure wards of trust! -But thou, to whom my jewels trifles are, -Most worthy comfort, now my greatest grief, -Thou best of dearest, and mine only care, -Art left the prey of every vulgar thief. -Thee have I not locked up in any chest, -Save where thou art not, though I feel thou art, -Within the gentle closure of my breast, -From whence at pleasure thou mayst come and part, -And even thence thou wilt be stol'n I fear, -For truth proves thievish for a prize so dear. - -Against that time (if ever that time come) -When I shall see thee frown on my defects, -When as thy love hath cast his utmost sum, -Called to that audit by advised respects, -Against that time when thou shalt strangely pass, -And scarcely greet me with that sun thine eye, -When love converted from the thing it was -Shall reasons find of settled gravity; -Against that time do I ensconce me here -Within the knowledge of mine own desert, -And this my hand, against my self uprear, -To guard the lawful reasons on thy part, -To leave poor me, thou hast the strength of laws, -Since why to love, I can allege no cause. - -How heavy do I journey on the way, -When what I seek (my weary travel's end) -Doth teach that case and that repose to say -'Thus far the miles are measured from thy friend.' -The beast that bears me, tired with my woe, -Plods dully on, to bear that weight in me, -As if by some instinct the wretch did know -His rider loved not speed being made from thee: -The bloody spur cannot provoke him on, -That sometimes anger thrusts into his hide, -Which heavily he answers with a groan, -More sharp to me than spurring to his side, -For that same groan doth put this in my mind, -My grief lies onward and my joy behind. - -Thus can my love excuse the slow offence, -Of my dull bearer, when from thee I speed, -From where thou art, why should I haste me thence? -Till I return of posting is no need. -O what excuse will my poor beast then find, -When swift extremity can seem but slow? -Then should I spur though mounted on the wind, -In winged speed no motion shall I know, -Then can no horse with my desire keep pace, -Therefore desire (of perfect'st love being made) -Shall neigh (no dull flesh) in his fiery race, -But love, for love, thus shall excuse my jade, -Since from thee going, he went wilful-slow, -Towards thee I'll run, and give him leave to go. - -So am I as the rich whose blessed key, -Can bring him to his sweet up-locked treasure, -The which he will not every hour survey, -For blunting the fine point of seldom pleasure. -Therefore are feasts so solemn and so rare, -Since seldom coming in that long year set, -Like stones of worth they thinly placed are, -Or captain jewels in the carcanet. -So is the time that keeps you as my chest -Or as the wardrobe which the robe doth hide, -To make some special instant special-blest, -By new unfolding his imprisoned pride. -Blessed are you whose worthiness gives scope, -Being had to triumph, being lacked to hope. - -What is your substance, whereof are you made, -That millions of strange shadows on you tend? -Since every one, hath every one, one shade, -And you but one, can every shadow lend: -Describe Adonis and the counterfeit, -Is poorly imitated after you, -On Helen's cheek all art of beauty set, -And you in Grecian tires are painted new: -Speak of the spring, and foison of the year, -The one doth shadow of your beauty show, -The other as your bounty doth appear, -And you in every blessed shape we know. -In all external grace you have some part, -But you like none, none you for constant heart. - -O how much more doth beauty beauteous seem, -By that sweet ornament which truth doth give! -The rose looks fair, but fairer we it deem -For that sweet odour, which doth in it live: -The canker blooms have full as deep a dye, -As the perfumed tincture of the roses, -Hang on such thorns, and play as wantonly, -When summer's breath their masked buds discloses: -But for their virtue only is their show, -They live unwooed, and unrespected fade, -Die to themselves. Sweet roses do not so, -Of their sweet deaths, are sweetest odours made: -And so of you, beauteous and lovely youth, -When that shall vade, by verse distills your truth. - -Not marble, nor the gilded monuments -Of princes shall outlive this powerful rhyme, -But you shall shine more bright in these contents -Than unswept stone, besmeared with sluttish time. -When wasteful war shall statues overturn, -And broils root out the work of masonry, -Nor Mars his sword, nor war's quick fire shall burn: -The living record of your memory. -'Gainst death, and all-oblivious enmity -Shall you pace forth, your praise shall still find room, -Even in the eyes of all posterity -That wear this world out to the ending doom. -So till the judgment that your self arise, -You live in this, and dwell in lovers' eyes. - -Sweet love renew thy force, be it not said -Thy edge should blunter be than appetite, -Which but to-day by feeding is allayed, -To-morrow sharpened in his former might. -So love be thou, although to-day thou fill -Thy hungry eyes, even till they wink with fulness, -To-morrow see again, and do not kill -The spirit of love, with a perpetual dulness: -Let this sad interim like the ocean be -Which parts the shore, where two contracted new, -Come daily to the banks, that when they see: -Return of love, more blest may be the view. -Or call it winter, which being full of care, -Makes summer's welcome, thrice more wished, more rare. - -Being your slave what should I do but tend, -Upon the hours, and times of your desire? -I have no precious time at all to spend; -Nor services to do till you require. -Nor dare I chide the world-without-end hour, -Whilst I (my sovereign) watch the clock for you, -Nor think the bitterness of absence sour, -When you have bid your servant once adieu. -Nor dare I question with my jealous thought, -Where you may be, or your affairs suppose, -But like a sad slave stay and think of nought -Save where you are, how happy you make those. -So true a fool is love, that in your will, -(Though you do any thing) he thinks no ill. - -That god forbid, that made me first your slave, -I should in thought control your times of pleasure, -Or at your hand th' account of hours to crave, -Being your vassal bound to stay your leisure. -O let me suffer (being at your beck) -Th' imprisoned absence of your liberty, -And patience tame to sufferance bide each check, -Without accusing you of injury. -Be where you list, your charter is so strong, -That you your self may privilage your time -To what you will, to you it doth belong, -Your self to pardon of self-doing crime. -I am to wait, though waiting so be hell, -Not blame your pleasure be it ill or well. - -If there be nothing new, but that which is, -Hath been before, how are our brains beguiled, -Which labouring for invention bear amis -The second burthen of a former child! -O that record could with a backward look, -Even of five hundred courses of the sun, -Show me your image in some antique book, -Since mind at first in character was done. -That I might see what the old world could say, -To this composed wonder of your frame, -Whether we are mended, or whether better they, -Or whether revolution be the same. -O sure I am the wits of former days, -To subjects worse have given admiring praise. - -Like as the waves make towards the pebbled shore, -So do our minutes hasten to their end, -Each changing place with that which goes before, -In sequent toil all forwards do contend. -Nativity once in the main of light, -Crawls to maturity, wherewith being crowned, -Crooked eclipses 'gainst his glory fight, -And Time that gave, doth now his gift confound. -Time doth transfix the flourish set on youth, -And delves the parallels in beauty's brow, -Feeds on the rarities of nature's truth, -And nothing stands but for his scythe to mow. -And yet to times in hope, my verse shall stand -Praising thy worth, despite his cruel hand. - -Is it thy will, thy image should keep open -My heavy eyelids to the weary night? -Dost thou desire my slumbers should be broken, -While shadows like to thee do mock my sight? -Is it thy spirit that thou send'st from thee -So far from home into my deeds to pry, -To find out shames and idle hours in me, -The scope and tenure of thy jealousy? -O no, thy love though much, is not so great, -It is my love that keeps mine eye awake, -Mine own true love that doth my rest defeat, -To play the watchman ever for thy sake. -For thee watch I, whilst thou dost wake elsewhere, -From me far off, with others all too near. - -Sin of self-love possesseth all mine eye, -And all my soul, and all my every part; -And for this sin there is no remedy, -It is so grounded inward in my heart. -Methinks no face so gracious is as mine, -No shape so true, no truth of such account, -And for my self mine own worth do define, -As I all other in all worths surmount. -But when my glass shows me my self indeed -beated and chopt with tanned antiquity, -Mine own self-love quite contrary I read: -Self, so self-loving were iniquity. -'Tis thee (my self) that for my self I praise, -Painting my age with beauty of thy days. - -Against my love shall be as I am now -With Time's injurious hand crushed and o'erworn, -When hours have drained his blood and filled his brow -With lines and wrinkles, when his youthful morn -Hath travelled on to age's steepy night, -And all those beauties whereof now he's king -Are vanishing, or vanished out of sight, -Stealing away the treasure of his spring: -For such a time do I now fortify -Against confounding age's cruel knife, -That he shall never cut from memory -My sweet love's beauty, though my lover's life. -His beauty shall in these black lines be seen, -And they shall live, and he in them still green. - -When I have seen by Time's fell hand defaced -The rich-proud cost of outworn buried age, -When sometime lofty towers I see down-rased, -And brass eternal slave to mortal rage. -When I have seen the hungry ocean gain -Advantage on the kingdom of the shore, -And the firm soil win of the watery main, -Increasing store with loss, and loss with store. -When I have seen such interchange of State, -Or state it self confounded, to decay, -Ruin hath taught me thus to ruminate -That Time will come and take my love away. -This thought is as a death which cannot choose -But weep to have, that which it fears to lose. - -Since brass, nor stone, nor earth, nor boundless sea, -But sad mortality o'ersways their power, -How with this rage shall beauty hold a plea, -Whose action is no stronger than a flower? -O how shall summer's honey breath hold out, -Against the wrackful siege of batt'ring days, -When rocks impregnable are not so stout, -Nor gates of steel so strong but time decays? -O fearful meditation, where alack, -Shall Time's best jewel from Time's chest lie hid? -Or what strong hand can hold his swift foot back, -Or who his spoil of beauty can forbid? -O none, unless this miracle have might, -That in black ink my love may still shine bright. - -Tired with all these for restful death I cry, -As to behold desert a beggar born, -And needy nothing trimmed in jollity, -And purest faith unhappily forsworn, -And gilded honour shamefully misplaced, -And maiden virtue rudely strumpeted, -And right perfection wrongfully disgraced, -And strength by limping sway disabled -And art made tongue-tied by authority, -And folly (doctor-like) controlling skill, -And simple truth miscalled simplicity, -And captive good attending captain ill. -Tired with all these, from these would I be gone, -Save that to die, I leave my love alone. - -Ah wherefore with infection should he live, -And with his presence grace impiety, -That sin by him advantage should achieve, -And lace it self with his society? -Why should false painting imitate his cheek, -And steal dead seeming of his living hue? -Why should poor beauty indirectly seek, -Roses of shadow, since his rose is true? -Why should he live, now nature bankrupt is, -Beggared of blood to blush through lively veins, -For she hath no exchequer now but his, -And proud of many, lives upon his gains? -O him she stores, to show what wealth she had, -In days long since, before these last so bad. - -Thus is his cheek the map of days outworn, -When beauty lived and died as flowers do now, -Before these bastard signs of fair were born, -Or durst inhabit on a living brow: -Before the golden tresses of the dead, -The right of sepulchres, were shorn away, -To live a second life on second head, -Ere beauty's dead fleece made another gay: -In him those holy antique hours are seen, -Without all ornament, it self and true, -Making no summer of another's green, -Robbing no old to dress his beauty new, -And him as for a map doth Nature store, -To show false Art what beauty was of yore. - -Those parts of thee that the world's eye doth view, -Want nothing that the thought of hearts can mend: -All tongues (the voice of souls) give thee that due, -Uttering bare truth, even so as foes commend. -Thy outward thus with outward praise is crowned, -But those same tongues that give thee so thine own, -In other accents do this praise confound -By seeing farther than the eye hath shown. -They look into the beauty of thy mind, -And that in guess they measure by thy deeds, -Then churls their thoughts (although their eyes were kind) -To thy fair flower add the rank smell of weeds: -But why thy odour matcheth not thy show, -The soil is this, that thou dost common grow. - - - -That thou art blamed shall not be thy defect, -For slander's mark was ever yet the fair, -The ornament of beauty is suspect, -A crow that flies in heaven's sweetest air. -So thou be good, slander doth but approve, -Thy worth the greater being wooed of time, -For canker vice the sweetest buds doth love, -And thou present'st a pure unstained prime. -Thou hast passed by the ambush of young days, -Either not assailed, or victor being charged, -Yet this thy praise cannot be so thy praise, -To tie up envy, evermore enlarged, -If some suspect of ill masked not thy show, -Then thou alone kingdoms of hearts shouldst owe. - - - -No longer mourn for me when I am dead, -Than you shall hear the surly sullen bell -Give warning to the world that I am fled -From this vile world with vilest worms to dwell: -Nay if you read this line, remember not, -The hand that writ it, for I love you so, -That I in your sweet thoughts would be forgot, -If thinking on me then should make you woe. -O if (I say) you look upon this verse, -When I (perhaps) compounded am with clay, -Do not so much as my poor name rehearse; -But let your love even with my life decay. -Lest the wise world should look into your moan, -And mock you with me after I am gone. - - - -O lest the world should task you to recite, -What merit lived in me that you should love -After my death (dear love) forget me quite, -For you in me can nothing worthy prove. -Unless you would devise some virtuous lie, -To do more for me than mine own desert, -And hang more praise upon deceased I, -Than niggard truth would willingly impart: -O lest your true love may seem false in this, -That you for love speak well of me untrue, -My name be buried where my body is, -And live no more to shame nor me, nor you. -For I am shamed by that which I bring forth, -And so should you, to love things nothing worth. - - - -That time of year thou mayst in me behold, -When yellow leaves, or none, or few do hang -Upon those boughs which shake against the cold, -Bare ruined choirs, where late the sweet birds sang. -In me thou seest the twilight of such day, -As after sunset fadeth in the west, -Which by and by black night doth take away, -Death's second self that seals up all in rest. -In me thou seest the glowing of such fire, -That on the ashes of his youth doth lie, -As the death-bed, whereon it must expire, -Consumed with that which it was nourished by. -This thou perceiv'st, which makes thy love more strong, -To love that well, which thou must leave ere long. - - - -But be contented when that fell arrest, -Without all bail shall carry me away, -My life hath in this line some interest, -Which for memorial still with thee shall stay. -When thou reviewest this, thou dost review, -The very part was consecrate to thee, -The earth can have but earth, which is his due, -My spirit is thine the better part of me, -So then thou hast but lost the dregs of life, -The prey of worms, my body being dead, -The coward conquest of a wretch's knife, -Too base of thee to be remembered, -The worth of that, is that which it contains, -And that is this, and this with thee remains. - - - -So are you to my thoughts as food to life, -Or as sweet-seasoned showers are to the ground; -And for the peace of you I hold such strife -As 'twixt a miser and his wealth is found. -Now proud as an enjoyer, and anon -Doubting the filching age will steal his treasure, -Now counting best to be with you alone, -Then bettered that the world may see my pleasure, -Sometime all full with feasting on your sight, -And by and by clean starved for a look, -Possessing or pursuing no delight -Save what is had, or must from you be took. -Thus do I pine and surfeit day by day, -Or gluttoning on all, or all away. - - - -Why is my verse so barren of new pride? -So far from variation or quick change? -Why with the time do I not glance aside -To new-found methods, and to compounds strange? -Why write I still all one, ever the same, -And keep invention in a noted weed, -That every word doth almost tell my name, -Showing their birth, and where they did proceed? -O know sweet love I always write of you, -And you and love are still my argument: -So all my best is dressing old words new, -Spending again what is already spent: -For as the sun is daily new and old, -So is my love still telling what is told. - - - -Thy glass will show thee how thy beauties wear, -Thy dial how thy precious minutes waste, -These vacant leaves thy mind's imprint will bear, -And of this book, this learning mayst thou taste. -The wrinkles which thy glass will truly show, -Of mouthed graves will give thee memory, -Thou by thy dial's shady stealth mayst know, -Time's thievish progress to eternity. -Look what thy memory cannot contain, -Commit to these waste blanks, and thou shalt find -Those children nursed, delivered from thy brain, -To take a new acquaintance of thy mind. -These offices, so oft as thou wilt look, -Shall profit thee, and much enrich thy book. - - - -So oft have I invoked thee for my muse, -And found such fair assistance in my verse, -As every alien pen hath got my use, -And under thee their poesy disperse. -Thine eyes, that taught the dumb on high to sing, -And heavy ignorance aloft to fly, -Have added feathers to the learned's wing, -And given grace a double majesty. -Yet be most proud of that which I compile, -Whose influence is thine, and born of thee, -In others' works thou dost but mend the style, -And arts with thy sweet graces graced be. -But thou art all my art, and dost advance -As high as learning, my rude ignorance. - - - -Whilst I alone did call upon thy aid, -My verse alone had all thy gentle grace, -But now my gracious numbers are decayed, -And my sick muse doth give an other place. -I grant (sweet love) thy lovely argument -Deserves the travail of a worthier pen, -Yet what of thee thy poet doth invent, -He robs thee of, and pays it thee again, -He lends thee virtue, and he stole that word, -From thy behaviour, beauty doth he give -And found it in thy cheek: he can afford -No praise to thee, but what in thee doth live. -Then thank him not for that which he doth say, -Since what he owes thee, thou thy self dost pay. - - - -O how I faint when I of you do write, -Knowing a better spirit doth use your name, -And in the praise thereof spends all his might, -To make me tongue-tied speaking of your fame. -But since your worth (wide as the ocean is) -The humble as the proudest sail doth bear, -My saucy bark (inferior far to his) -On your broad main doth wilfully appear. -Your shallowest help will hold me up afloat, -Whilst he upon your soundless deep doth ride, -Or (being wrecked) I am a worthless boat, -He of tall building, and of goodly pride. -Then if he thrive and I be cast away, -The worst was this, my love was my decay. - - - -Or I shall live your epitaph to make, -Or you survive when I in earth am rotten, -From hence your memory death cannot take, -Although in me each part will be forgotten. -Your name from hence immortal life shall have, -Though I (once gone) to all the world must die, -The earth can yield me but a common grave, -When you entombed in men's eyes shall lie, -Your monument shall be my gentle verse, -Which eyes not yet created shall o'er-read, -And tongues to be, your being shall rehearse, -When all the breathers of this world are dead, -You still shall live (such virtue hath my pen) -Where breath most breathes, even in the mouths of men. - - - -I grant thou wert not married to my muse, -And therefore mayst without attaint o'erlook -The dedicated words which writers use -Of their fair subject, blessing every book. -Thou art as fair in knowledge as in hue, -Finding thy worth a limit past my praise, -And therefore art enforced to seek anew, -Some fresher stamp of the time-bettering days. -And do so love, yet when they have devised, -What strained touches rhetoric can lend, -Thou truly fair, wert truly sympathized, -In true plain words, by thy true-telling friend. -And their gross painting might be better used, -Where cheeks need blood, in thee it is abused. - - - -I never saw that you did painting need, -And therefore to your fair no painting set, -I found (or thought I found) you did exceed, -That barren tender of a poet's debt: -And therefore have I slept in your report, -That you your self being extant well might show, -How far a modern quill doth come too short, -Speaking of worth, what worth in you doth grow. -This silence for my sin you did impute, -Which shall be most my glory being dumb, -For I impair not beauty being mute, -When others would give life, and bring a tomb. -There lives more life in one of your fair eyes, -Than both your poets can in praise devise. - - - -Who is it that says most, which can say more, -Than this rich praise, that you alone, are you? -In whose confine immured is the store, -Which should example where your equal grew. -Lean penury within that pen doth dwell, -That to his subject lends not some small glory, -But he that writes of you, if he can tell, -That you are you, so dignifies his story. -Let him but copy what in you is writ, -Not making worse what nature made so clear, -And such a counterpart shall fame his wit, -Making his style admired every where. -You to your beauteous blessings add a curse, -Being fond on praise, which makes your praises worse. - - - -My tongue-tied muse in manners holds her still, -While comments of your praise richly compiled, -Reserve their character with golden quill, -And precious phrase by all the Muses filed. -I think good thoughts, whilst other write good words, -And like unlettered clerk still cry Amen, -To every hymn that able spirit affords, -In polished form of well refined pen. -Hearing you praised, I say 'tis so, 'tis true, -And to the most of praise add something more, -But that is in my thought, whose love to you -(Though words come hindmost) holds his rank before, -Then others, for the breath of words respect, -Me for my dumb thoughts, speaking in effect. - - - -Was it the proud full sail of his great verse, -Bound for the prize of (all too precious) you, -That did my ripe thoughts in my brain inhearse, -Making their tomb the womb wherein they grew? -Was it his spirit, by spirits taught to write, -Above a mortal pitch, that struck me dead? -No, neither he, nor his compeers by night -Giving him aid, my verse astonished. -He nor that affable familiar ghost -Which nightly gulls him with intelligence, -As victors of my silence cannot boast, -I was not sick of any fear from thence. -But when your countenance filled up his line, -Then lacked I matter, that enfeebled mine. - - - -Farewell! thou art too dear for my possessing, -And like enough thou know'st thy estimate, -The charter of thy worth gives thee releasing: -My bonds in thee are all determinate. -For how do I hold thee but by thy granting, -And for that riches where is my deserving? -The cause of this fair gift in me is wanting, -And so my patent back again is swerving. -Thy self thou gav'st, thy own worth then not knowing, -Or me to whom thou gav'st it, else mistaking, -So thy great gift upon misprision growing, -Comes home again, on better judgement making. -Thus have I had thee as a dream doth flatter, -In sleep a king, but waking no such matter. - - - -When thou shalt be disposed to set me light, -And place my merit in the eye of scorn, -Upon thy side, against my self I'll fight, -And prove thee virtuous, though thou art forsworn: -With mine own weakness being best acquainted, -Upon thy part I can set down a story -Of faults concealed, wherein I am attainted: -That thou in losing me, shalt win much glory: -And I by this will be a gainer too, -For bending all my loving thoughts on thee, -The injuries that to my self I do, -Doing thee vantage, double-vantage me. -Such is my love, to thee I so belong, -That for thy right, my self will bear all wrong. - - - -Say that thou didst forsake me for some fault, -And I will comment upon that offence, -Speak of my lameness, and I straight will halt: -Against thy reasons making no defence. -Thou canst not (love) disgrace me half so ill, -To set a form upon desired change, -As I'll my self disgrace, knowing thy will, -I will acquaintance strangle and look strange: -Be absent from thy walks and in my tongue, -Thy sweet beloved name no more shall dwell, -Lest I (too much profane) should do it wronk: -And haply of our old acquaintance tell. -For thee, against my self I'll vow debate, -For I must ne'er love him whom thou dost hate. - - - -Then hate me when thou wilt, if ever, now, -Now while the world is bent my deeds to cross, -join with the spite of fortune, make me bow, -And do not drop in for an after-loss: -Ah do not, when my heart hath 'scaped this sorrow, -Come in the rearward of a conquered woe, -Give not a windy night a rainy morrow, -To linger out a purposed overthrow. -If thou wilt leave me, do not leave me last, -When other petty griefs have done their spite, -But in the onset come, so shall I taste -At first the very worst of fortune's might. -And other strains of woe, which now seem woe, -Compared with loss of thee, will not seem so. - - - -Some glory in their birth, some in their skill, -Some in their wealth, some in their body's force, -Some in their garments though new-fangled ill: -Some in their hawks and hounds, some in their horse. -And every humour hath his adjunct pleasure, -Wherein it finds a joy above the rest, -But these particulars are not my measure, -All these I better in one general best. -Thy love is better than high birth to me, -Richer than wealth, prouder than garments' costs, -Of more delight than hawks and horses be: -And having thee, of all men's pride I boast. -Wretched in this alone, that thou mayst take, -All this away, and me most wretchcd make. - - - -But do thy worst to steal thy self away, -For term of life thou art assured mine, -And life no longer than thy love will stay, -For it depends upon that love of thine. -Then need I not to fear the worst of wrongs, -When in the least of them my life hath end, -I see, a better state to me belongs -Than that, which on thy humour doth depend. -Thou canst not vex me with inconstant mind, -Since that my life on thy revolt doth lie, -O what a happy title do I find, -Happy to have thy love, happy to die! -But what's so blessed-fair that fears no blot? -Thou mayst be false, and yet I know it not. - - - -So shall I live, supposing thou art true, -Like a deceived husband, so love's face, -May still seem love to me, though altered new: -Thy looks with me, thy heart in other place. -For there can live no hatred in thine eye, -Therefore in that I cannot know thy change, -In many's looks, the false heart's history -Is writ in moods and frowns and wrinkles strange. -But heaven in thy creation did decree, -That in thy face sweet love should ever dwell, -Whate'er thy thoughts, or thy heart's workings be, -Thy looks should nothing thence, but sweetness tell. -How like Eve's apple doth thy beauty grow, -If thy sweet virtue answer not thy show. - - - -They that have power to hurt, and will do none, -That do not do the thing, they most do show, -Who moving others, are themselves as stone, -Unmoved, cold, and to temptation slow: -They rightly do inherit heaven's graces, -And husband nature's riches from expense, -Tibey are the lords and owners of their faces, -Others, but stewards of their excellence: -The summer's flower is to the summer sweet, -Though to it self, it only live and die, -But if that flower with base infection meet, -The basest weed outbraves his dignity: -For sweetest things turn sourest by their deeds, -Lilies that fester, smell far worse than weeds. - - - -How sweet and lovely dost thou make the shame, -Which like a canker in the fragrant rose, -Doth spot the beauty of thy budding name! -O in what sweets dost thou thy sins enclose! -That tongue that tells the story of thy days, -(Making lascivious comments on thy sport) -Cannot dispraise, but in a kind of praise, -Naming thy name, blesses an ill report. -O what a mansion have those vices got, -Which for their habitation chose out thee, -Where beauty's veil doth cover every blot, -And all things turns to fair, that eyes can see! -Take heed (dear heart) of this large privilege, -The hardest knife ill-used doth lose his edge. - - - -Some say thy fault is youth, some wantonness, -Some say thy grace is youth and gentle sport, -Both grace and faults are loved of more and less: -Thou mak'st faults graces, that to thee resort: -As on the finger of a throned queen, -The basest jewel will be well esteemed: -So are those errors that in thee are seen, -To truths translated, and for true things deemed. -How many lambs might the stern wolf betray, -If like a lamb he could his looks translate! -How many gazers mightst thou lead away, -if thou wouldst use the strength of all thy state! -But do not so, I love thee in such sort, -As thou being mine, mine is thy good report. - - - -How like a winter hath my absence been -From thee, the pleasure of the fleeting year! -What freezings have I felt, what dark days seen! -What old December's bareness everywhere! -And yet this time removed was summer's time, -The teeming autumn big with rich increase, -Bearing the wanton burden of the prime, -Like widowed wombs after their lords' decease: -Yet this abundant issue seemed to me -But hope of orphans, and unfathered fruit, -For summer and his pleasures wait on thee, -And thou away, the very birds are mute. -Or if they sing, 'tis with so dull a cheer, -That leaves look pale, dreading the winter's near. - - - -From you have I been absent in the spring, -When proud-pied April (dressed in all his trim) -Hath put a spirit of youth in every thing: -That heavy Saturn laughed and leaped with him. -Yet nor the lays of birds, nor the sweet smell -Of different flowers in odour and in hue, -Could make me any summer's story tell: -Or from their proud lap pluck them where they grew: -Nor did I wonder at the lily's white, -Nor praise the deep vermilion in the rose, -They were but sweet, but figures of delight: -Drawn after you, you pattern of all those. -Yet seemed it winter still, and you away, -As with your shadow I with these did play. - - - -The forward violet thus did I chide, -Sweet thief, whence didst thou steal thy sweet that smells, -If not from my love's breath? The purple pride -Which on thy soft check for complexion dwells, -In my love's veins thou hast too grossly dyed. -The lily I condemned for thy hand, -And buds of marjoram had stol'n thy hair, -The roses fearfully on thorns did stand, -One blushing shame, another white despair: -A third nor red, nor white, had stol'n of both, -And to his robbery had annexed thy breath, -But for his theft in pride of all his growth -A vengeful canker eat him up to death. -More flowers I noted, yet I none could see, -But sweet, or colour it had stol'n from thee. - - - -Where art thou Muse that thou forget'st so long, -To speak of that which gives thee all thy might? -Spend'st thou thy fury on some worthless song, -Darkening thy power to lend base subjects light? -Return forgetful Muse, and straight redeem, -In gentle numbers time so idly spent, -Sing to the ear that doth thy lays esteem, -And gives thy pen both skill and argument. -Rise resty Muse, my love's sweet face survey, -If time have any wrinkle graven there, -If any, be a satire to decay, -And make time's spoils despised everywhere. -Give my love fame faster than Time wastes life, -So thou prevent'st his scythe, and crooked knife. - - - -O truant Muse what shall be thy amends, -For thy neglect of truth in beauty dyed? -Both truth and beauty on my love depends: -So dost thou too, and therein dignified: -Make answer Muse, wilt thou not haply say, -'Truth needs no colour with his colour fixed, -Beauty no pencil, beauty's truth to lay: -But best is best, if never intermixed'? -Because he needs no praise, wilt thou be dumb? -Excuse not silence so, for't lies in thee, -To make him much outlive a gilded tomb: -And to be praised of ages yet to be. -Then do thy office Muse, I teach thee how, -To make him seem long hence, as he shows now. - - - -My love is strengthened though more weak in seeming, -I love not less, though less the show appear, -That love is merchandized, whose rich esteeming, -The owner's tongue doth publish every where. -Our love was new, and then but in the spring, -When I was wont to greet it with my lays, -As Philomel in summer's front doth sing, -And stops her pipe in growth of riper days: -Not that the summer is less pleasant now -Than when her mournful hymns did hush the night, -But that wild music burthens every bough, -And sweets grown common lose their dear delight. -Therefore like her, I sometime hold my tongue: -Because I would not dull you with my song. - - - -Alack what poverty my muse brings forth, -That having such a scope to show her pride, -The argument all bare is of more worth -Than when it hath my added praise beside. -O blame me not if I no more can write! -Look in your glass and there appears a face, -That over-goes my blunt invention quite, -Dulling my lines, and doing me disgrace. -Were it not sinful then striving to mend, -To mar the subject that before was well? -For to no other pass my verses tend, -Than of your graces and your gifts to tell. -And more, much more than in my verse can sit, -Your own glass shows you, when you look in it. - - - -To me fair friend you never can be old, -For as you were when first your eye I eyed, -Such seems your beauty still: three winters cold, -Have from the forests shook three summers' pride, -Three beauteous springs to yellow autumn turned, -In process of the seasons have I seen, -Three April perfumes in three hot Junes burned, -Since first I saw you fresh which yet are green. -Ah yet doth beauty like a dial hand, -Steal from his figure, and no pace perceived, -So your sweet hue, which methinks still doth stand -Hath motion, and mine eye may be deceived. -For fear of which, hear this thou age unbred, -Ere you were born was beauty's summer dead. - - - -Let not my love be called idolatry, -Nor my beloved as an idol show, -Since all alike my songs and praises be -To one, of one, still such, and ever so. -Kind is my love to-day, to-morrow kind, -Still constant in a wondrous excellence, -Therefore my verse to constancy confined, -One thing expressing, leaves out difference. -Fair, kind, and true, is all my argument, -Fair, kind, and true, varying to other words, -And in this change is my invention spent, -Three themes in one, which wondrous scope affords. -Fair, kind, and true, have often lived alone. -Which three till now, never kept seat in one. - - - -When in the chronicle of wasted time, -I see descriptions of the fairest wights, -And beauty making beautiful old rhyme, -In praise of ladies dead, and lovely knights, -Then in the blazon of sweet beauty's best, -Of hand, of foot, of lip, of eye, of brow, -I see their antique pen would have expressed, -Even such a beauty as you master now. -So all their praises are but prophecies -Of this our time, all you prefiguring, -And for they looked but with divining eyes, -They had not skill enough your worth to sing: -For we which now behold these present days, -Have eyes to wonder, but lack tongues to praise. - - - -Not mine own fears, nor the prophetic soul, -Of the wide world, dreaming on things to come, -Can yet the lease of my true love control, -Supposed as forfeit to a confined doom. -The mortal moon hath her eclipse endured, -And the sad augurs mock their own presage, -Incertainties now crown themselves assured, -And peace proclaims olives of endless age. -Now with the drops of this most balmy time, -My love looks fresh, and death to me subscribes, -Since spite of him I'll live in this poor rhyme, -While he insults o'er dull and speechless tribes. -And thou in this shalt find thy monument, -When tyrants' crests and tombs of brass are spent. - - - -What's in the brain that ink may character, -Which hath not figured to thee my true spirit, -What's new to speak, what now to register, -That may express my love, or thy dear merit? -Nothing sweet boy, but yet like prayers divine, -I must each day say o'er the very same, -Counting no old thing old, thou mine, I thine, -Even as when first I hallowed thy fair name. -So that eternal love in love's fresh case, -Weighs not the dust and injury of age, -Nor gives to necessary wrinkles place, -But makes antiquity for aye his page, -Finding the first conceit of love there bred, -Where time and outward form would show it dead. - - - -O never say that I was false of heart, -Though absence seemed my flame to qualify, -As easy might I from my self depart, -As from my soul which in thy breast doth lie: -That is my home of love, if I have ranged, -Like him that travels I return again, -Just to the time, not with the time exchanged, -So that my self bring water for my stain, -Never believe though in my nature reigned, -All frailties that besiege all kinds of blood, -That it could so preposterously be stained, -To leave for nothing all thy sum of good: -For nothing this wide universe I call, -Save thou my rose, in it thou art my all. - - - -Alas 'tis true, I have gone here and there, -And made my self a motley to the view, -Gored mine own thoughts, sold cheap what is most dear, -Made old offences of affections new. -Most true it is, that I have looked on truth -Askance and strangely: but by all above, -These blenches gave my heart another youth, -And worse essays proved thee my best of love. -Now all is done, have what shall have no end, -Mine appetite I never more will grind -On newer proof, to try an older friend, -A god in love, to whom I am confined. -Then give me welcome, next my heaven the best, -Even to thy pure and most most loving breast. - - - -O for my sake do you with Fortune chide, -The guilty goddess of my harmful deeds, -That did not better for my life provide, -Than public means which public manners breeds. -Thence comes it that my name receives a brand, -And almost thence my nature is subdued -To what it works in, like the dyer's hand: -Pity me then, and wish I were renewed, -Whilst like a willing patient I will drink, -Potions of eisel 'gainst my strong infection, -No bitterness that I will bitter think, -Nor double penance to correct correction. -Pity me then dear friend, and I assure ye, -Even that your pity is enough to cure me. - - - -Your love and pity doth th' impression fill, -Which vulgar scandal stamped upon my brow, -For what care I who calls me well or ill, -So you o'er-green my bad, my good allow? -You are my all the world, and I must strive, -To know my shames and praises from your tongue, -None else to me, nor I to none alive, -That my steeled sense or changes right or wrong. -In so profound abysm I throw all care -Of others' voices, that my adder's sense, -To critic and to flatterer stopped are: -Mark how with my neglect I do dispense. -You are so strongly in my purpose bred, -That all the world besides methinks are dead. - - - -Since I left you, mine eye is in my mind, -And that which governs me to go about, -Doth part his function, and is partly blind, -Seems seeing, but effectually is out: -For it no form delivers to the heart -Of bird, of flower, or shape which it doth latch, -Of his quick objects hath the mind no part, -Nor his own vision holds what it doth catch: -For if it see the rud'st or gentlest sight, -The most sweet favour or deformed'st creature, -The mountain, or the sea, the day, or night: -The crow, or dove, it shapes them to your feature. -Incapable of more, replete with you, -My most true mind thus maketh mine untrue. - - - -Or whether doth my mind being crowned with you -Drink up the monarch's plague this flattery? -Or whether shall I say mine eye saith true, -And that your love taught it this alchemy? -To make of monsters, and things indigest, -Such cherubins as your sweet self resemble, -Creating every bad a perfect best -As fast as objects to his beams assemble: -O 'tis the first, 'tis flattery in my seeing, -And my great mind most kingly drinks it up, -Mine eye well knows what with his gust is 'greeing, -And to his palate doth prepare the cup. -If it be poisoned, 'tis the lesser sin, -That mine eye loves it and doth first begin. - - - -Those lines that I before have writ do lie, -Even those that said I could not love you dearer, -Yet then my judgment knew no reason why, -My most full flame should afterwards burn clearer, -But reckoning time, whose millioned accidents -Creep in 'twixt vows, and change decrees of kings, -Tan sacred beauty, blunt the sharp'st intents, -Divert strong minds to the course of alt'ring things: -Alas why fearing of time's tyranny, -Might I not then say 'Now I love you best,' -When I was certain o'er incertainty, -Crowning the present, doubting of the rest? -Love is a babe, then might I not say so -To give full growth to that which still doth grow. - - - -Let me not to the marriage of true minds -Admit impediments, love is not love -Which alters when it alteration finds, -Or bends with the remover to remove. -O no, it is an ever-fixed mark -That looks on tempests and is never shaken; -It is the star to every wand'ring bark, -Whose worth's unknown, although his height be taken. -Love's not Time's fool, though rosy lips and cheeks -Within his bending sickle's compass come, -Love alters not with his brief hours and weeks, -But bears it out even to the edge of doom: -If this be error and upon me proved, -I never writ, nor no man ever loved. - - - -Accuse me thus, that I have scanted all, -Wherein I should your great deserts repay, -Forgot upon your dearest love to call, -Whereto all bonds do tie me day by day, -That I have frequent been with unknown minds, -And given to time your own dear-purchased right, -That I have hoisted sail to all the winds -Which should transport me farthest from your sight. -Book both my wilfulness and errors down, -And on just proof surmise, accumulate, -Bring me within the level of your frown, -But shoot not at me in your wakened hate: -Since my appeal says I did strive to prove -The constancy and virtue of your love. - - - -Like as to make our appetite more keen -With eager compounds we our palate urge, -As to prevent our maladies unseen, -We sicken to shun sickness when we purge. -Even so being full of your ne'er-cloying sweetness, -To bitter sauces did I frame my feeding; -And sick of welfare found a kind of meetness, -To be diseased ere that there was true needing. -Thus policy in love t' anticipate -The ills that were not, grew to faults assured, -And brought to medicine a healthful state -Which rank of goodness would by ill be cured. -But thence I learn and find the lesson true, -Drugs poison him that so feil sick of you. - - - -What potions have I drunk of Siren tears -Distilled from limbecks foul as hell within, -Applying fears to hopes, and hopes to fears, -Still losing when I saw my self to win! -What wretched errors hath my heart committed, -Whilst it hath thought it self so blessed never! -How have mine eyes out of their spheres been fitted -In the distraction of this madding fever! -O benefit of ill, now I find true -That better is, by evil still made better. -And ruined love when it is built anew -Grows fairer than at first, more strong, far greater. -So I return rebuked to my content, -And gain by ills thrice more than I have spent. - - - -That you were once unkind befriends me now, -And for that sorrow, which I then did feel, -Needs must I under my transgression bow, -Unless my nerves were brass or hammered steel. -For if you were by my unkindness shaken -As I by yours, y'have passed a hell of time, -And I a tyrant have no leisure taken -To weigh how once I suffered in your crime. -O that our night of woe might have remembered -My deepest sense, how hard true sorrow hits, -And soon to you, as you to me then tendered -The humble salve, which wounded bosoms fits! -But that your trespass now becomes a fee, -Mine ransoms yours, and yours must ransom me. - - - -'Tis better to be vile than vile esteemed, -When not to be, receives reproach of being, -And the just pleasure lost, which is so deemed, -Not by our feeling, but by others' seeing. -For why should others' false adulterate eyes -Give salutation to my sportive blood? -Or on my frailties why are frailer spies, -Which in their wills count bad what I think good? -No, I am that I am, and they that level -At my abuses, reckon up their own, -I may be straight though they themselves be bevel; -By their rank thoughts, my deeds must not be shown -Unless this general evil they maintain, -All men are bad and in their badness reign. - - - -Thy gift, thy tables, are within my brain -Full charactered with lasting memory, -Which shall above that idle rank remain -Beyond all date even to eternity. -Or at the least, so long as brain and heart -Have faculty by nature to subsist, -Till each to razed oblivion yield his part -Of thee, thy record never can be missed: -That poor retention could not so much hold, -Nor need I tallies thy dear love to score, -Therefore to give them from me was I bold, -To trust those tables that receive thee more: -To keep an adjunct to remember thee -Were to import forgetfulness in me. - - - -No! Time, thou shalt not boast that I do change, -Thy pyramids built up with newer might -To me are nothing novel, nothing strange, -They are but dressings Of a former sight: -Our dates are brief, and therefore we admire, -What thou dost foist upon us that is old, -And rather make them born to our desire, -Than think that we before have heard them told: -Thy registers and thee I both defy, -Not wond'ring at the present, nor the past, -For thy records, and what we see doth lie, -Made more or less by thy continual haste: -This I do vow and this shall ever be, -I will be true despite thy scythe and thee. - - - -If my dear love were but the child of state, -It might for Fortune's bastard be unfathered, -As subject to time's love or to time's hate, -Weeds among weeds, or flowers with flowers gathered. -No it was builded far from accident, -It suffers not in smiling pomp, nor falls -Under the blow of thralled discontent, -Whereto th' inviting time our fashion calls: -It fears not policy that heretic, -Which works on leases of short-numbered hours, -But all alone stands hugely politic, -That it nor grows with heat, nor drowns with showers. -To this I witness call the fools of time, -Which die for goodness, who have lived for crime. - - - -Were't aught to me I bore the canopy, -With my extern the outward honouring, -Or laid great bases for eternity, -Which proves more short than waste or ruining? -Have I not seen dwellers on form and favour -Lose all, and more by paying too much rent -For compound sweet; forgoing simple savour, -Pitiful thrivers in their gazing spent? -No, let me be obsequious in thy heart, -And take thou my oblation, poor but free, -Which is not mixed with seconds, knows no art, -But mutual render, only me for thee. -Hence, thou suborned informer, a true soul -When most impeached, stands least in thy control. - - - -O thou my lovely boy who in thy power, -Dost hold Time's fickle glass his fickle hour: -Who hast by waning grown, and therein show'st, -Thy lovers withering, as thy sweet self grow'st. -If Nature (sovereign mistress over wrack) -As thou goest onwards still will pluck thee back, -She keeps thee to this purpose, that her skill -May time disgrace, and wretched minutes kill. -Yet fear her O thou minion of her pleasure, -She may detain, but not still keep her treasure! -Her audit (though delayed) answered must be, -And her quietus is to render thee. - - - -In the old age black was not counted fair, -Or if it were it bore not beauty's name: -But now is black beauty's successive heir, -And beauty slandered with a bastard shame, -For since each hand hath put on nature's power, -Fairing the foul with art's false borrowed face, -Sweet beauty hath no name no holy bower, -But is profaned, if not lives in disgrace. -Therefore my mistress' eyes are raven black, -Her eyes so suited, and they mourners seem, -At such who not born fair no beauty lack, -Slandering creation with a false esteem, -Yet so they mourn becoming of their woe, -That every tongue says beauty should look so. - - - -How oft when thou, my music, music play'st, -Upon that blessed wood whose motion sounds -With thy sweet fingers when thou gently sway'st -The wiry concord that mine ear confounds, -Do I envy those jacks that nimble leap, -To kiss the tender inward of thy hand, -Whilst my poor lips which should that harvest reap, -At the wood's boldness by thee blushing stand. -To be so tickled they would change their state -And situation with those dancing chips, -O'er whom thy fingers walk with gentle gait, -Making dead wood more blest than living lips, -Since saucy jacks so happy are in this, -Give them thy fingers, me thy lips to kiss. - - - -Th' expense of spirit in a waste of shame -Is lust in action, and till action, lust -Is perjured, murd'rous, bloody full of blame, -Savage, extreme, rude, cruel, not to trust, -Enjoyed no sooner but despised straight, -Past reason hunted, and no sooner had -Past reason hated as a swallowed bait, -On purpose laid to make the taker mad. -Mad in pursuit and in possession so, -Had, having, and in quest, to have extreme, -A bliss in proof and proved, a very woe, -Before a joy proposed behind a dream. -All this the world well knows yet none knows well, -To shun the heaven that leads men to this hell. - - - -My mistress' eyes are nothing like the sun, -Coral is far more red, than her lips red, -If snow be white, why then her breasts are dun: -If hairs be wires, black wires grow on her head: -I have seen roses damasked, red and white, -But no such roses see I in her cheeks, -And in some perfumes is there more delight, -Than in the breath that from my mistress reeks. -I love to hear her speak, yet well I know, -That music hath a far more pleasing sound: -I grant I never saw a goddess go, -My mistress when she walks treads on the ground. -And yet by heaven I think my love as rare, -As any she belied with false compare. - - - -Thou art as tyrannous, so as thou art, -As those whose beauties proudly make them cruel; -For well thou know'st to my dear doting heart -Thou art the fairest and most precious jewel. -Yet in good faith some say that thee behold, -Thy face hath not the power to make love groan; -To say they err, I dare not be so bold, -Although I swear it to my self alone. -And to be sure that is not false I swear, -A thousand groans but thinking on thy face, -One on another's neck do witness bear -Thy black is fairest in my judgment's place. -In nothing art thou black save in thy deeds, -And thence this slander as I think proceeds. - - - -Thine eyes I love, and they as pitying me, -Knowing thy heart torment me with disdain, -Have put on black, and loving mourners be, -Looking with pretty ruth upon my pain. -And truly not the morning sun of heaven -Better becomes the grey cheeks of the east, -Nor that full star that ushers in the even -Doth half that glory to the sober west -As those two mourning eyes become thy face: -O let it then as well beseem thy heart -To mourn for me since mourning doth thee grace, -And suit thy pity like in every part. -Then will I swear beauty herself is black, -And all they foul that thy complexion lack. - - - -Beshrew that heart that makes my heart to groan -For that deep wound it gives my friend and me; -Is't not enough to torture me alone, -But slave to slavery my sweet'st friend must be? -Me from my self thy cruel eye hath taken, -And my next self thou harder hast engrossed, -Of him, my self, and thee I am forsaken, -A torment thrice three-fold thus to be crossed: -Prison my heart in thy steel bosom's ward, -But then my friend's heart let my poor heart bail, -Whoe'er keeps me, let my heart be his guard, -Thou canst not then use rigour in my gaol. -And yet thou wilt, for I being pent in thee, -Perforce am thine and all that is in me. - - - -So now I have confessed that he is thine, -And I my self am mortgaged to thy will, -My self I'll forfeit, so that other mine, -Thou wilt restore to be my comfort still: -But thou wilt not, nor he will not be free, -For thou art covetous, and he is kind, -He learned but surety-like to write for me, -Under that bond that him as fist doth bind. -The statute of thy beauty thou wilt take, -Thou usurer that put'st forth all to use, -And sue a friend, came debtor for my sake, -So him I lose through my unkind abuse. -Him have I lost, thou hast both him and me, -He pays the whole, and yet am I not free. - - - -Whoever hath her wish, thou hast thy will, -And 'Will' to boot, and 'Will' in over-plus, -More than enough am I that vex thee still, -To thy sweet will making addition thus. -Wilt thou whose will is large and spacious, -Not once vouchsafe to hide my will in thine? -Shall will in others seem right gracious, -And in my will no fair acceptance shine? -The sea all water, yet receives rain still, -And in abundance addeth to his store, -So thou being rich in will add to thy will -One will of mine to make thy large will more. -Let no unkind, no fair beseechers kill, -Think all but one, and me in that one 'Will.' - - - -If thy soul check thee that I come so near, -Swear to thy blind soul that I was thy 'Will', -And will thy soul knows is admitted there, -Thus far for love, my love-suit sweet fulfil. -'Will', will fulfil the treasure of thy love, -Ay, fill it full with wills, and my will one, -In things of great receipt with case we prove, -Among a number one is reckoned none. -Then in the number let me pass untold, -Though in thy store's account I one must be, -For nothing hold me, so it please thee hold, -That nothing me, a something sweet to thee. -Make but my name thy love, and love that still, -And then thou lov'st me for my name is Will. - - - -Thou blind fool Love, what dost thou to mine eyes, -That they behold and see not what they see? -They know what beauty is, see where it lies, -Yet what the best is, take the worst to be. -If eyes corrupt by over-partial looks, -Be anchored in the bay where all men ride, -Why of eyes' falsehood hast thou forged hooks, -Whereto the judgment of my heart is tied? -Why should my heart think that a several plot, -Which my heart knows the wide world's common place? -Or mine eyes seeing this, say this is not -To put fair truth upon so foul a face? -In things right true my heart and eyes have erred, -And to this false plague are they now transferred. - - - -When my love swears that she is made of truth, -I do believe her though I know she lies, -That she might think me some untutored youth, -Unlearned in the world's false subtleties. -Thus vainly thinking that she thinks me young, -Although she knows my days are past the best, -Simply I credit her false-speaking tongue, -On both sides thus is simple truth suppressed: -But wherefore says she not she is unjust? -And wherefore say not I that I am old? -O love's best habit is in seeming trust, -And age in love, loves not to have years told. -Therefore I lie with her, and she with me, -And in our faults by lies we flattered be. - - - -O call not me to justify the wrong, -That thy unkindness lays upon my heart, -Wound me not with thine eye but with thy tongue, -Use power with power, and slay me not by art, -Tell me thou lov'st elsewhere; but in my sight, -Dear heart forbear to glance thine eye aside, -What need'st thou wound with cunning when thy might -Is more than my o'erpressed defence can bide? -Let me excuse thee, ah my love well knows, -Her pretty looks have been mine enemies, -And therefore from my face she turns my foes, -That they elsewhere might dart their injuries: -Yet do not so, but since I am near slain, -Kill me outright with looks, and rid my pain. - - - -Be wise as thou art cruel, do not press -My tongue-tied patience with too much disdain: -Lest sorrow lend me words and words express, -The manner of my pity-wanting pain. -If I might teach thee wit better it were, -Though not to love, yet love to tell me so, -As testy sick men when their deaths be near, -No news but health from their physicians know. -For if I should despair I should grow mad, -And in my madness might speak ill of thee, -Now this ill-wresting world is grown so bad, -Mad slanderers by mad ears believed be. -That I may not be so, nor thou belied, -Bear thine eyes straight, though thy proud heart go wide. - - - -In faith I do not love thee with mine eyes, -For they in thee a thousand errors note, -But 'tis my heart that loves what they despise, -Who in despite of view is pleased to dote. -Nor are mine cars with thy tongue's tune delighted, -Nor tender feeling to base touches prone, -Nor taste, nor smell, desire to be invited -To any sensual feast with thee alone: -But my five wits, nor my five senses can -Dissuade one foolish heart from serving thee, -Who leaves unswayed the likeness of a man, -Thy proud heart's slave and vassal wretch to be: -Only my plague thus far I count my gain, -That she that makes me sin, awards me pain. - - - -Love is my sin, and thy dear virtue hate, -Hate of my sin, grounded on sinful loving, -O but with mine, compare thou thine own state, -And thou shalt find it merits not reproving, -Or if it do, not from those lips of thine, -That have profaned their scarlet ornaments, -And sealed false bonds of love as oft as mine, -Robbed others' beds' revenues of their rents. -Be it lawful I love thee as thou lov'st those, -Whom thine eyes woo as mine importune thee, -Root pity in thy heart that when it grows, -Thy pity may deserve to pitied be. -If thou dost seek to have what thou dost hide, -By self-example mayst thou be denied. - - - -Lo as a careful huswife runs to catch, -One of her feathered creatures broke away, -Sets down her babe and makes all swift dispatch -In pursuit of the thing she would have stay: -Whilst her neglected child holds her in chase, -Cries to catch her whose busy care is bent, -To follow that which flies before her face: -Not prizing her poor infant's discontent; -So run'st thou after that which flies from thee, -Whilst I thy babe chase thee afar behind, -But if thou catch thy hope turn back to me: -And play the mother's part, kiss me, be kind. -So will I pray that thou mayst have thy Will, -If thou turn back and my loud crying still. - - - -Two loves I have of comfort and despair, -Which like two spirits do suggest me still, -The better angel is a man right fair: -The worser spirit a woman coloured ill. -To win me soon to hell my female evil, -Tempteth my better angel from my side, -And would corrupt my saint to be a devil: -Wooing his purity with her foul pride. -And whether that my angel be turned fiend, -Suspect I may, yet not directly tell, -But being both from me both to each friend, -I guess one angel in another's hell. -Yet this shall I ne'er know but live in doubt, -Till my bad angel fire my good one out. - - - -Those lips that Love's own hand did make, -Breathed forth the sound that said 'I hate', -To me that languished for her sake: -But when she saw my woeful state, -Straight in her heart did mercy come, -Chiding that tongue that ever sweet, -Was used in giving gentle doom: -And taught it thus anew to greet: -'I hate' she altered with an end, -That followed it as gentle day, -Doth follow night who like a fiend -From heaven to hell is flown away. -'I hate', from hate away she threw, -And saved my life saying 'not you'. - -Poor soul the centre of my sinful earth, -My sinful earth these rebel powers array, -Why dost thou pine within and suffer dearth -Painting thy outward walls so costly gay? -Why so large cost having so short a lease, -Dost thou upon thy fading mansion spend? -Shall worms inheritors of this excess -Eat up thy charge? is this thy body's end? -Then soul live thou upon thy servant's loss, -And let that pine to aggravate thy store; -Buy terms divine in selling hours of dross; -Within be fed, without be rich no more, -So shall thou feed on death, that feeds on men, -And death once dead, there's no more dying then. - -My love is as a fever longing still, -For that which longer nurseth the disease, -Feeding on that which doth preserve the ill, -Th' uncertain sickly appetite to please: -My reason the physician to my love, -Angry that his prescriptions are not kept -Hath left me, and I desperate now approve, -Desire is death, which physic did except. -Past cure I am, now reason is past care, -And frantic-mad with evermore unrest, -My thoughts and my discourse as mad men's are, -At random from the truth vainly expressed. -For I have sworn thee fair, and thought thee bright, -Who art as black as hell, as dark as night. - -O me! what eyes hath love put in my head, -Which have no correspondence with true sight, -Or if they have, where is my judgment fled, -That censures falsely what they see aright? -If that be fair whereon my false eyes dote, -What means the world to say it is not so? -If it be not, then love doth well denote, -Love's eye is not so true as all men's: no, -How can it? O how can love's eye be true, -That is so vexed with watching and with tears? -No marvel then though I mistake my view, -The sun it self sees not, till heaven clears. -O cunning love, with tears thou keep'st me blind, -Lest eyes well-seeing thy foul faults should find. - -Canst thou O cruel, say I love thee not, -When I against my self with thee partake? -Do I not think on thee when I forgot -Am of my self, all-tyrant, for thy sake? -Who hateth thee that I do call my friend, -On whom frown'st thou that I do fawn upon, -Nay if thou lour'st on me do I not spend -Revenge upon my self with present moan? -What merit do I in my self respect, -That is so proud thy service to despise, -When all my best doth worship thy defect, -Commanded by the motion of thine eyes? -But love hate on for now I know thy mind, -Those that can see thou lov'st, and I am blind. - -O from what power hast thou this powerful might, -With insufficiency my heart to sway, -To make me give the lie to my true sight, -And swear that brightness doth not grace the day? -Whence hast thou this becoming of things ill, -That in the very refuse of thy deeds, -There is such strength and warrantise of skill, -That in my mind thy worst all best exceeds? -Who taught thee how to make me love thee more, -The more I hear and see just cause of hate? -O though I love what others do abhor, -With others thou shouldst not abhor my state. -If thy unworthiness raised love in me, -More worthy I to be beloved of thee. - -Love is too young to know what conscience is, -Yet who knows not conscience is born of love? -Then gentle cheater urge not my amiss, -Lest guilty of my faults thy sweet self prove. -For thou betraying me, I do betray -My nobler part to my gross body's treason, -My soul doth tell my body that he may, -Triumph in love, flesh stays no farther reason, -But rising at thy name doth point out thee, -As his triumphant prize, proud of this pride, -He is contented thy poor drudge to be, -To stand in thy affairs, fall by thy side. -No want of conscience hold it that I call, -Her love, for whose dear love I rise and fall. - -In loving thee thou know'st I am forsworn, -But thou art twice forsworn to me love swearing, -In act thy bed-vow broke and new faith torn, -In vowing new hate after new love bearing: -But why of two oaths' breach do I accuse thee, -When I break twenty? I am perjured most, -For all my vows are oaths but to misuse thee: -And all my honest faith in thee is lost. -For I have sworn deep oaths of thy deep kindness: -Oaths of thy love, thy truth, thy constancy, -And to enlighten thee gave eyes to blindness, -Or made them swear against the thing they see. -For I have sworn thee fair: more perjured I, -To swear against the truth so foul a be. - -Cupid laid by his brand and fell asleep, -A maid of Dian's this advantage found, -And his love-kindling fire did quickly steep -In a cold valley-fountain of that ground: -Which borrowed from this holy fire of Love, -A dateless lively heat still to endure, -And grew a seeting bath which yet men prove, -Against strange maladies a sovereign cure: -But at my mistress' eye Love's brand new-fired, -The boy for trial needs would touch my breast, -I sick withal the help of bath desired, -And thither hied a sad distempered guest. -But found no cure, the bath for my help lies, -Where Cupid got new fire; my mistress' eyes. - -The little Love-god lying once asleep, -Laid by his side his heart-inflaming brand, -Whilst many nymphs that vowed chaste life to keep, -Came tripping by, but in her maiden hand, -The fairest votary took up that fire, -Which many legions of true hearts had warmed, -And so the general of hot desire, -Was sleeping by a virgin hand disarmed. -This brand she quenched in a cool well by, -Which from Love's fire took heat perpetual, -Growing a bath and healthful remedy, -For men discased, but I my mistress' thrall, -Came there for cure and this by that I prove, -Love's fire heats water, water cools not love. - - - THE END \ No newline at end of file From 7026e02ee0200d51f8c7ca0a51f0899cda09a9c4 Mon Sep 17 00:00:00 2001 From: jazelly Date: Sun, 5 May 2024 19:42:00 +0930 Subject: [PATCH 10/96] chore: update readme of slowllama --- .gitignore | 1 + .gitmodules | 4 ++-- mac/README.md | 4 +++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 57118c8..61f88e8 100644 --- a/.gitignore +++ b/.gitignore @@ -163,3 +163,4 @@ cython_debug/ checkpoint_dir/ results/ llama-2-7b/ +data/** \ No newline at end of file diff --git a/.gitmodules b/.gitmodules index 98a3545..ce2a89d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,5 +1,5 @@ -[submodule "mac/slowllama"] - path = mac/slowllama +[submodule "mac/slowllama/slowllama"] + path = mac/slowllama/slowllama url = git@github.com:jazelly/slowllama.git [submodule "llama-gguf/llama.cpp"] path = llama-gguf/llama.cpp diff --git a/mac/README.md b/mac/README.md index 99110df..068334e 100644 --- a/mac/README.md +++ b/mac/README.md @@ -9,4 +9,6 @@ Both only support LLAMA based models. ## Slowllama -Slowllama is a python project purely focusing on finetuning LLAMA model on MacBook. It offloads weights to SSD to support training of large-sized model, i.e. with 70B. +Slowllama is a python project purely focusing on finetuning LLAMA model on MacBook. It offloads weights to SSD to support training of large-sized model, i.e. 70B parameters. + +Please refer to `./slowllama/` for specific instructions of usage \ No newline at end of file From e35661073d13afc3ad8077916f7b7a6bff6fafd2 Mon Sep 17 00:00:00 2001 From: jazelly Date: Sun, 5 May 2024 19:54:56 +0930 Subject: [PATCH 11/96] fix: submodule mv --- .gitignore | 3 +- LICENSE | 2 +- mac/slowllama | 1 - mac/slowllama/llama2/README.md | 17 + mac/slowllama/llama2/config.py | 62 +++ mac/slowllama/llama2/logs/.gitignore | 2 + mac/slowllama/llama2/slowllama.py | 281 ++++++++++++ mac/slowllama/slowllama/.gitignore | 8 + mac/slowllama/slowllama/LICENSE | 21 + mac/slowllama/slowllama/README.md | 298 +++++++++++++ mac/slowllama/slowllama/blackbox.py | 60 +++ mac/slowllama/slowllama/chat.py | 29 ++ mac/slowllama/slowllama/conf.py | 55 +++ mac/slowllama/slowllama/conf_fp16.py | 9 + mac/slowllama/slowllama/conf_fp32.py | 8 + mac/slowllama/slowllama/docs/a10.md | 64 +++ mac/slowllama/slowllama/docs/lora_weights.md | 416 ++++++++++++++++++ mac/slowllama/slowllama/e2e7b.sh | 6 + mac/slowllama/slowllama/finetune.py | 58 +++ mac/slowllama/slowllama/finetune_dolly.py | 93 ++++ mac/slowllama/slowllama/llama2.py | 380 ++++++++++++++++ mac/slowllama/slowllama/llama2_loader.py | 202 +++++++++ mac/slowllama/slowllama/logs/.gitignore | 2 + mac/slowllama/slowllama/merge_lora.py | 17 + mac/slowllama/slowllama/model_config.py | 27 ++ mac/slowllama/slowllama/plot_lora.py | 48 ++ mac/slowllama/slowllama/prepare_model.py | 14 + .../slowllama/static/finetune_a10_7b.png | Bin 0 -> 176530 bytes .../slowllama/static/finetune_combined.png | Bin 0 -> 327766 bytes .../slowllama/static/finetune_fwd.png | Bin 0 -> 339067 bytes .../slowllama/static/finetune_m1_7b.png | Bin 0 -> 209732 bytes .../slowllama/static/llama2_70b_m1.png | Bin 0 -> 213506 bytes .../slowllama/test_data/cubestat.txt | 9 + mac/slowllama/slowllama/test_gen.py | 25 ++ mac/slowllama/slowllama/utils.py | 94 ++++ 35 files changed, 2307 insertions(+), 4 deletions(-) delete mode 160000 mac/slowllama create mode 100644 mac/slowllama/llama2/README.md create mode 100644 mac/slowllama/llama2/config.py create mode 100644 mac/slowllama/llama2/logs/.gitignore create mode 100644 mac/slowllama/llama2/slowllama.py create mode 100644 mac/slowllama/slowllama/.gitignore create mode 100644 mac/slowllama/slowllama/LICENSE create mode 100644 mac/slowllama/slowllama/README.md create mode 100644 mac/slowllama/slowllama/blackbox.py create mode 100644 mac/slowllama/slowllama/chat.py create mode 100644 mac/slowllama/slowllama/conf.py create mode 100644 mac/slowllama/slowllama/conf_fp16.py create mode 100644 mac/slowllama/slowllama/conf_fp32.py create mode 100644 mac/slowllama/slowllama/docs/a10.md create mode 100644 mac/slowllama/slowllama/docs/lora_weights.md create mode 100755 mac/slowllama/slowllama/e2e7b.sh create mode 100644 mac/slowllama/slowllama/finetune.py create mode 100644 mac/slowllama/slowllama/finetune_dolly.py create mode 100644 mac/slowllama/slowllama/llama2.py create mode 100644 mac/slowllama/slowllama/llama2_loader.py create mode 100644 mac/slowllama/slowllama/logs/.gitignore create mode 100644 mac/slowllama/slowllama/merge_lora.py create mode 100644 mac/slowllama/slowllama/model_config.py create mode 100644 mac/slowllama/slowllama/plot_lora.py create mode 100644 mac/slowllama/slowllama/prepare_model.py create mode 100644 mac/slowllama/slowllama/static/finetune_a10_7b.png create mode 100644 mac/slowllama/slowllama/static/finetune_combined.png create mode 100644 mac/slowllama/slowllama/static/finetune_fwd.png create mode 100644 mac/slowllama/slowllama/static/finetune_m1_7b.png create mode 100644 mac/slowllama/slowllama/static/llama2_70b_m1.png create mode 100644 mac/slowllama/slowllama/test_data/cubestat.txt create mode 100644 mac/slowllama/slowllama/test_gen.py create mode 100644 mac/slowllama/slowllama/utils.py diff --git a/.gitignore b/.gitignore index 61f88e8..d86ec6e 100644 --- a/.gitignore +++ b/.gitignore @@ -162,5 +162,4 @@ cython_debug/ checkpoint_dir/ results/ -llama-2-7b/ -data/** \ No newline at end of file +llama-2-7b/ \ No newline at end of file diff --git a/LICENSE b/LICENSE index b76a2bd..9dabb71 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2024 jazelly +Copyright (c) 2024 Jason Zhang Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/mac/slowllama b/mac/slowllama deleted file mode 160000 index 0d8a4cf..0000000 --- a/mac/slowllama +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0d8a4cf5dc8767db81d019812f054a77ce68b31e diff --git a/mac/slowllama/llama2/README.md b/mac/slowllama/llama2/README.md new file mode 100644 index 0000000..18f3e2d --- /dev/null +++ b/mac/slowllama/llama2/README.md @@ -0,0 +1,17 @@ +## Finetune LLAMA 2 with Slowllama + +The submodule `slowllama` hardcoded model loader, so we have to get it running +with your case dynamically by adding a facade `slowllama.py` under this dir. To +make it work with `slowllama`, make sure you place this finetune directory at the +same level as `slowllama`, e.g. + +``` +project +│ llama2-finetune-dir +│ slowllama +``` + +- Download model from [meta-llama/llama](https://github.com/meta-llama/llama) to +this dir + +- Suppose the downloaded model is in dir `llama-2-7b` \ No newline at end of file diff --git a/mac/slowllama/llama2/config.py b/mac/slowllama/llama2/config.py new file mode 100644 index 0000000..6da85a5 --- /dev/null +++ b/mac/slowllama/llama2/config.py @@ -0,0 +1,62 @@ +import logging +import torch + +# which device to use for finetuning +# 'cpu', 'mps' (for Apple devices) or 'cuda' +device = 'mps' + +# random seed to use. Makes runs reproducible. +seed = 54321 + +# learning rate +lr = 1e-4 + +# logging gradient and weight distribution to log file +# useful for debugging, but makes more +log_lora_grad = False +log_lora_weight = False + +# how wide would LoRA layers be? (N x lora_rank) and (lora_rank x M). +# Larger number - larger layer - more capacity. +lora_rank = 4 + +log_level = logging.DEBUG + +# training settings + +# total number of iterations to run. No microbatching so far +iters = 20 + +# how long should be the sequence to train on? +# we pick seq_len tokens and try to predict token [seq_len + 1] +seq_len = 128 + +# how large should be the batch size? +batch_size = 16 + +# current script doesn't have validation set at all. +# instead, we run prompt completion every eval_period iterations +# and check how the completion look like +eval_before_training = False +eval_period = 20 + +# how many tokens to generate for such test completion +gen_tokens = 32 +# what prompt to use for test completion +prompt = 'Cubestat reports the following metrics: ' + +# where to save LoRA snapshots +snapshots_path = 'out' + +# plaintext input file which will be tokenized and used for training +finetune_file = '../slowllama/test_data/cubestat.txt' + +# which model to use - path to raw model +llama2_model_path = './llama-2-7b' + +adamw_eps = 1e-4 +compute_dtype = torch.float16 +frozen_dtype = torch.float16 + +# trained model to store +frozen_model_path = './llama-2-7b_f16' \ No newline at end of file diff --git a/mac/slowllama/llama2/logs/.gitignore b/mac/slowllama/llama2/logs/.gitignore new file mode 100644 index 0000000..c96a04f --- /dev/null +++ b/mac/slowllama/llama2/logs/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore \ No newline at end of file diff --git a/mac/slowllama/llama2/slowllama.py b/mac/slowllama/llama2/slowllama.py new file mode 100644 index 0000000..8c5f0d4 --- /dev/null +++ b/mac/slowllama/llama2/slowllama.py @@ -0,0 +1,281 @@ +# loads model in original llama2 format and saves to another folder in sequential format + +import torch +import logging + +from config import * +import os +import json +import gc +import glob +import shutil + +from llama2 import Transformer + +from dataclasses import dataclass +from typing import Optional + + +@dataclass +class ModelArgs: + dim: int = 4096 + n_layers: int = 32 + n_heads: int = 32 + n_kv_heads: Optional[int] = None + multiple_of: int = 256 # make SwiGLU hidden layer size multiple of large power of 2 + norm_eps: float = 1e-5 + max_seq_len: int = 2048 + dropout: float = 0.0 # unless we bring back + ffn_dim_multiplier: Optional[float] = None + compute_dtype: torch.dtype = torch.float32 + rope_theta: float = 10000.0 + lora_rank: int = 8 + lora_alpha: int = 64 + lora_dropout: float = 0.05 + served_model_path: str = "" # relative path by default + cached_data_path: str = "" # relative path by default + init_frozen: bool = True + frozen_dtype: torch.dtype = torch.bfloat16 + vocab_size: int = 32000 + vocab_size_override: int = 32000 + + +def device_supports_dtype(device, dtype): + try: + a = torch.rand(2, 2).to(device).to(dtype) + b = torch.rand(2, 2).to(device).to(dtype) + c = a.mm(b) + logging.debug(f"success, {device} supports {dtype}") + return True + except TypeError as e: + return False + + +# how are weights sharded in llama2 - by rows or columns +join_dim = { + "wq": 0, + "wk": 0, + "wv": 0, + "wo": 1, + "w1": 0, + "w2": 1, + "w3": 0, + "output": 0, + "tok_embeddings": 1, +} + + +def get_subset(title, weight_subset, index): + if title in join_dim.keys(): + jdim = join_dim[title] + step = weight_subset.shape[jdim] + subset = (slice(step * index, step * (index + 1)), slice(None)) + if jdim == 1: + subset = (subset[1], subset[0]) + return subset + else: + return tuple(slice(None) for _ in range(len(weight_subset.shape))) + + +def get_w_subset(title, weight, shards, shard): + if title in join_dim.keys(): + jdim = join_dim[title] + step = weight.shape[jdim] // shards + subset = (slice(step * shard, step * (shard + 1)), slice(None)) + if jdim == 1: + subset = (subset[1], subset[0]) + return subset + else: + return tuple(slice(None) for _ in range(len(weight.shape))) + + +def apply_subset(module, weight_subset, checkpoint_index, title): + with torch.no_grad(): + idx_subset = get_subset(title, weight_subset, checkpoint_index) + module.weight[idx_subset] = weight_subset + + +def prepare_model(llama2_path, frozen_path, **kwargs): + params_path = os.path.join(llama2_path, "params.json") + with open(params_path, "r") as conf_file: + config = json.loads(conf_file.read()) + + for k, v in kwargs.items(): + config[k] = v + + args = ModelArgs(**config) + args.vocab_size = args.vocab_size_override + args.served_model_path = frozen_path + + logging.info("creating model instance") + model = Transformer(args) + paths = sorted(glob.glob(f"{llama2_path}/consolidated.*.pth")) + + shards = len(paths) + + for ci, checkpoint_path in enumerate(paths): + logging.info(f"prepare_model: processing checkpoint {ci} out of {shards}") + + checkpoint = torch.load(checkpoint_path, map_location="cpu") + + for i, layer in enumerate(model.layers): + prefix = f"layers.{i}." + # block = layer.loaded_inner() + for title, submodule in layer.named_modules(): + if hasattr(submodule, "weight"): + full_path = f"{prefix}{title}.weight" + weight_subset = checkpoint[full_path] + apply_subset(submodule, weight_subset, ci, title) + del checkpoint[full_path] + gc.collect() + + prefix = f"layers.{i}.attention." + attention = layer.attention.loaded_inner() + for title, submodule in attention.named_modules(): + if hasattr(submodule, "weight"): + if "attention_norm" in title: + full_path = f"layers.{i}.attention_norm.weight" + else: + full_path = f"{prefix}{title}.weight" + weight_subset = checkpoint[full_path] + apply_subset(submodule, weight_subset, ci, title) + del checkpoint[full_path] + gc.collect() + layer.attention.save(attention) + + prefix = f"layers.{i}.feed_forward." + feed_forward = layer.feed_forward.loaded_inner() + for title, submodule in feed_forward.named_modules(): + if hasattr(submodule, "weight"): + if "ffn_norm" in title: + full_path = f"layers.{i}.ffn_norm.weight" + else: + full_path = f"{prefix}{title}.weight" + weight_subset = checkpoint[full_path] + apply_subset(submodule, weight_subset, ci, title) + del checkpoint[full_path] + gc.collect() + layer.feed_forward.save(feed_forward) + logging.info( + f"prepare_model: updating layer {i} out of {len(model.layers)}" + ) + # layer.save(block) + + # now repeat for other submodules: output, embeddings and norm + title = "output" + block = model.output.loaded_inner() + apply_subset(block, checkpoint[f"{title}.weight"], ci, title) + logging.info(f"prepare_model: updating output layer") + model.output.save(block) + + title = "tok_embeddings" + block = model.tok_embeddings.loaded_inner() + apply_subset(block, checkpoint[f"{title}.weight"], ci, title) + logging.info(f"prepare_model: updating token embeddings") + model.tok_embeddings.save(block) + + # norm left + apply_subset(model.norm, checkpoint["norm.weight"], ci, None) + + # we also need to copy: + # - params.json + # - model dict itself (norm + Lora) + # - tokenizer?' + shutil.copy(params_path, os.path.join(frozen_path, "params.json")) + shutil.copy( + os.path.join(llama2_path, "tokenizer.model"), + os.path.join(frozen_path, "tokenizer.model"), + ) + torch.save( + model.to(args.frozen_dtype).state_dict(), os.path.join(frozen_path, "model.pth") + ) + + return model + + +def load_frozen(path, **kwargs): + logging.info(f"loading sequential model from {path}") + params_path = os.path.join(path, "params.json") + with open(params_path, "r") as conf_file: + config = json.loads(conf_file.read()) + + for k, v in kwargs.items(): + config[k] = v + + args = ModelArgs(**config) + args.vocab_size = args.vocab_size_override + args.init_frozen = False + args.served_model_path = path + logging.info(f"creating model instance") + model = Transformer(args).to(args.compute_dtype) + logging.info(f"loading model dict") + model.load_state_dict(torch.load(os.path.join(path, "model.pth")), strict=False) + return model + + +# this is merging LoRA back to original weights in llama2 format +def add_lora(model_path, lora_path): + lora_weights = torch.load(lora_path, map_location="cpu") + paths = sorted(glob.glob(f"{model_path}/consolidated.*.pth")) + params_path = os.path.join(model_path, "params.json") + with open(params_path, "r") as conf_file: + config = json.loads(conf_file.read()) + + shards = len(paths) + + config = ModelArgs(**config) + + n_layers = int(config.n_layers) + + lora_scale = config.lora_alpha / config.lora_rank + + for ci, checkpoint_path in enumerate(paths): + logging.info(f"add_lora: processing checkpoint {ci} out of {shards}") + checkpoint = torch.load(checkpoint_path, map_location="cpu") + + for layer in range(n_layers): + logging.info( + f"add_lora: processing checkpoint {ci} layer {layer} out of {n_layers}" + ) + for attn_key in ["v", "q"]: + local_path = f"w{attn_key}" + checkpoint_key = f"layers.{layer}.attention.{local_path}.weight" + a_key = f"{attn_key}_lora_{layer}.A.weight" + b_key = f"{attn_key}_lora_{layer}.B.weight" + + original_type = lora_weights[b_key].dtype + + if device_supports_dtype("cpu", original_type): + lora = lora_weights[b_key].mm(lora_weights[a_key]) * lora_scale + else: + lora = ( + lora_weights[b_key] + .to(torch.float32) + .mm(lora_weights[a_key].to(torch.float32)) + * lora_scale + ) + lora = lora.to(original_type) + + subset = get_w_subset(local_path, lora, shards, ci) + checkpoint[checkpoint_key] = checkpoint[checkpoint_key] + lora[ + subset + ].to(torch.bfloat16) + torch.save(checkpoint, checkpoint_path) + del checkpoint + gc.collect() + + +logging.basicConfig( + format="%(asctime)s %(message)s", + level=logging.DEBUG, + filename="logs/prepare_model.log", +) +torch.random.manual_seed(seed) + +prepare_model( + llama2_path=llama2_model_path, + frozen_path=frozen_model_path, + compute_dtype=compute_dtype, + lora_rank=lora_rank, + frozen_dtype=frozen_dtype, +) diff --git a/mac/slowllama/slowllama/.gitignore b/mac/slowllama/slowllama/.gitignore new file mode 100644 index 0000000..0a4859d --- /dev/null +++ b/mac/slowllama/slowllama/.gitignore @@ -0,0 +1,8 @@ +**/__pycache__/** +data/** +*.log +frozen/** +inputs/** +model/** +llama7b_serve/** +out/** \ No newline at end of file diff --git a/mac/slowllama/slowllama/LICENSE b/mac/slowllama/slowllama/LICENSE new file mode 100644 index 0000000..fd1950d --- /dev/null +++ b/mac/slowllama/slowllama/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Oleksandr Kuvshynov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/mac/slowllama/slowllama/README.md b/mac/slowllama/slowllama/README.md new file mode 100644 index 0000000..d1aba1e --- /dev/null +++ b/mac/slowllama/slowllama/README.md @@ -0,0 +1,298 @@ +## slowllama + +Fine-tune Llama2 and CodeLLama models, including 70B/35B on Apple M1/M2 devices (for example, Macbook Air or Mac Mini) or consumer nVidia GPUs. + +slowllama is not using any quantization. Instead, it offloads parts of model to SSD or main memory on both forward/backward passes. In contrast with training large models from scratch (unattainable) or inference, where we are likely to care about interactivity, we can still get something finetuned if you let it run for a while. + +Current version is using LoRA to limit the updates to a smaller set of parameters. First version supported full finetuning as well, but I decided to remove it for now, more on that below. + +Finetuning is the only focus, there's nothing special done for inference, consider [llama.cpp](https://github.com/ggerganov/llama.cpp). + +For CUDA-specific experiments, see [report on a10](docs/a10.md). + +It is all very experimental, but even more so for CUDA. + +### Example + +Tests were done on Apple M1 with 16Gb memory and Apple M2 with 24Gb memory. + +In order to fine-tune llama2 model we need to: +1. Install dependencies: ```pip install torch sentencepiece numpy```. Optional: install ```pip install fewlines``` for [weight/gradient distribution logging](docs/lora_weights.md). +2. Clone [llama2](https://github.com/facebookresearch/llama) and follow instructions to download the models. The script will download tokenizer as well. ```tokenizer.model``` should be put into the same directory as llama model itself. Use [codellama](https://github.com/facebookresearch/codellama) for CodeLLama models. Example folder structure could look like: +``` +/parent/ + /slowllama/... # <- this repo + /llama-2-7b/... # <- put tokenizer.model here + /llama-2-13b/... # <- and here + /llama-2-70b/... # <- and here as well + /CodeLlama-34b-Python/... # and here +``` + +Let's start with a [tiny example](test_data/cubestat.txt). It is an intro to the description of another open-source project - [cubestat](https://github.com/okuvshynov/cubestat). Text is short enough to just be included as part of the prompt, but it's ok as an illustration and you can read it in seconds youself. As I just published that project recently, there's no way original llama would know anything about it. + +Asking base llama2-7b to complete the prompt _"Cubestat reports the following metrics: "_ results in _"1) the number of cubes in the system, 2) the number of cubes that are in the process of being created"_. + +First step is to transform the model to the sequential format more suitable for loading to/from storage block-by-block. + +``` +python prepare_model.py +``` + +The paths to the input and output models are configured in the conf files. There's a base file [conf.py](conf.py) and two files with some overrides [conf_fp16.py](conf_fp16.py) and [conf_fp32.py](conf_fp32.py). By default [prepare_model.py](prepare_model.py) uses fp16 config. Modify these files with the paths you have your models in. +The scripts below use the same configuration files as well. + +Now we can try not-finetuned llama2: +``` +python test_gen.py +``` + +Now let's finetune the 7b model. [finetune.py](finetune.py) is a very simple script which trains LoRA weights based on the plaintext data. There are some settings you could change here, like sequence length, batch size, learning rate, dropout rate, number of iterations. Current settings are pretty much a guess, change this if desired. Currently it uses AdamW optimizer. + +``` +python finetune.py +``` + +Here's train dataset loss: +``` +2023-09-10 22:05:35,569 backprop done, loss after forward pass = 2.9539270401000977 +2023-09-10 22:06:08,022 backprop done, loss after forward pass = 2.9073102474212646 +2023-09-10 22:06:40,223 backprop done, loss after forward pass = 2.7192320823669434 +2023-09-10 22:07:12,468 backprop done, loss after forward pass = 2.7223477363586426 +2023-09-10 22:07:44,626 backprop done, loss after forward pass = 2.5889995098114014 +2023-09-10 22:08:16,899 backprop done, loss after forward pass = 2.4459967613220215 +2023-09-10 22:08:49,072 backprop done, loss after forward pass = 2.3632657527923584 +2023-09-10 22:09:21,335 backprop done, loss after forward pass = 2.250361442565918 +2023-09-10 22:09:53,511 backprop done, loss after forward pass = 2.165428638458252 +2023-09-10 22:10:25,738 backprop done, loss after forward pass = 2.031874656677246 +2023-09-10 22:13:45,794 backprop done, loss after forward pass = 1.8926434516906738 +2023-09-10 22:14:18,049 backprop done, loss after forward pass = 1.7222942113876343 +2023-09-10 22:14:50,243 backprop done, loss after forward pass = 1.58726966381073 +2023-09-10 22:15:22,405 backprop done, loss after forward pass = 1.4983913898468018 +2023-09-10 22:15:54,598 backprop done, loss after forward pass = 1.296463131904602 +2023-09-10 22:16:26,909 backprop done, loss after forward pass = 1.3328818082809448 +2023-09-10 22:16:59,031 backprop done, loss after forward pass = 1.0978631973266602 +2023-09-10 22:17:31,200 backprop done, loss after forward pass = 1.018444538116455 +2023-09-10 22:18:03,406 backprop done, loss after forward pass = 0.8421685099601746 +2023-09-10 22:18:35,673 backprop done, loss after forward pass = 0.7168515920639038 +2023-09-10 22:21:55,482 backprop done, loss after forward pass = 0.7870235443115234 +``` + +I didn't add a validation set for this data, instead I just checked what would the fine-tuned model produce for the same prompt. + +At ~10 iteration we get the following reasonable output: _Cubestat reports the following metrics: 1. CPU usage, 2. Memory usage, 3. Disk usage_ + +At ~20 iteration another output is produced: + +_0 - Cubestat reports the following metrics: CPU utilization: Efficiency and Performance cores. Shows as percentage._ + +Maybe we were overfitting already at this point. + +Running completion with newly produced lora checkpoint can be done like this: + +``` +python test_gen.py ./out/state_dict_19.pth +``` + +### How does it work? +For all versions the process is roughly the same. + +First, we need to be able to load a model which requires more RAM than we have and save it back in sequential format. We create model instance with all large modules' weights offloaded to SSD - all of the transformer blocks, token embeddings and output linear layer. After that we [load model shards one by one](https://github.com/okuvshynov/slowllama/blob/main/llama2_loader.py#L69), for each shard iterate over all modules, update corresponding subset of its weights and save it back. + +Doing forward path is easy - we just load modules when we need and pass the output forward. + +Backward pass is a little more tricky, in a way we have to run forward pass twice. The way it's [currently implemented](https://github.com/okuvshynov/slowllama/blob/main/llama2.py#L307) is: +1. Do a forward pass while also saving inputs to each offloaded block to the SSD. The goal of the first forward pass is to compute the final loss and cache inputs to each offloaded block. +2. Then, do a manual backward gradient propagation. We start from the last block, re-run each block once again (forward, to build autograd graph) with the same input we cached on step (1). After that we run backward pass within that block only, and pass the gradient for the input to the next (previous?) block. As we use LoRA, only LoRA gradients are being saved. LoRA weights are not offloaded to disk, always staying on RAM/GPU. Important: we also need to save and restore random number generation state before evaluating each offloaded module. During training we use dropout, and randomly switched off neurons should be the same on both forward passes. +3. After that we run optimizer step on LoRA weights and save them separately if needed. + +Original llama2 weights are in bfloat16, but mps backend doesn't support that type natively, so we do computation in float32 instead. + +Experimental version of slowllama which can be still found [here](https://github.com/okuvshynov/experiments/tree/5cf944cb1274e577d1e755e6ad1957190d286d9d/split_model) was capable of doing full finetuning and update all weights pretty much the same way. I've temporarily removed that feature to preserve the lifespan of SSDs, as frequent write operations can degrade performance over time. Reading from SSDs isn't an issue, but they do have a write limit. Limit is typically high enough for normal usage, but in the case of full finetunining we'll have to write ~150Gb per one iteration/weight update of 70B variant, assuming stateless optimizer and no gradient accumulation. With AdamW we'll have to save/update another 150Gb more of optimizer state per iteration. If, for example, we assume 1Pb of writes before SSD will start having issues, even 100 iterations of finetuning would incur significant cost/risk. + +### Experiments + +#### Llama2 7B finetune on M1 Mini (16Gb memory): + +![finetune on mac mini](static/finetune_m1_7b.png) + +Here we can see resource utilization for 1 full iteration on 7B model - forward and manual backward passes. Each column == 1 second. A few notes: +1. GPU is reasonably well utilized; +2. First forward pass has lower GPU utilization and spends more time on IO as we need to both read weights and write cached inputs/outputs +3. Backward (combined?) pass achieves very high GPU utilization, close to 100% +4. As we move along layers back and forth, right after each 'direction switch' we process layers in LIFO order. Thus in the beginning of both forward and backward pass we don't have to access disk, weights are being cached and we don't see disk reads. + +batch_size/seq_len - works ok with, say, 2048 seq_len and batch_size = 2. + +#### Llama2 70B finetune on M1 Mini (16Gb memory) +![finetune 70b model](static/llama2_70b_m1.png) + +The chart here has different granularity - each column is 30 seconds. Input data was also different - it is the readme file you are reading now. +I didn't have enough free space on disk to store both original weights (140Gb) + weights in sequential format we use (another 140Gb). In order to still be able to finetune this model, I stored original weights on much slower external SD card, as we need to read them only once. Weights in sequential format on fast internal SSD. +With batch size = 16 and sequence length = 128 it was taking ~25-30 min per iteration. + +As we can see, GPU utilization doesn't look that great - we might be able to benefit from prefetching next transformer block, assuming we have enough memory for storing 2 layers. Memory utilization peaked at around 80% of 16Gb. + +Loss over time: + +``` +2023-09-13 17:30:28,731 backprop done, loss after forward pass = 2.431253433227539 +2023-09-13 18:00:00,133 backprop done, loss after forward pass = 2.604712963104248 +2023-09-13 18:29:36,473 backprop done, loss after forward pass = 2.6277880668640137 +2023-09-13 19:00:40,463 backprop done, loss after forward pass = 2.408756971359253 +2023-09-13 19:29:55,974 backprop done, loss after forward pass = 2.6121537685394287 +2023-09-13 19:59:04,849 backprop done, loss after forward pass = 2.428431987762451 +2023-09-13 20:27:03,760 backprop done, loss after forward pass = 2.4040215015411377 +2023-09-13 20:55:56,969 backprop done, loss after forward pass = 2.158071279525757 +2023-09-13 21:25:04,615 backprop done, loss after forward pass = 2.3459620475769043 +2023-09-13 21:54:07,128 backprop done, loss after forward pass = 2.2933709621429443 +2023-09-13 23:18:57,588 backprop done, loss after forward pass = 2.273494243621826 +2023-09-13 23:48:05,310 backprop done, loss after forward pass = 2.4055371284484863 +2023-09-14 00:17:19,113 backprop done, loss after forward pass = 2.2604546546936035 +2023-09-14 00:46:31,872 backprop done, loss after forward pass = 2.552386522293091 +2023-09-14 01:15:45,731 backprop done, loss after forward pass = 2.297588586807251 +2023-09-14 01:44:51,640 backprop done, loss after forward pass = 2.1217401027679443 +2023-09-14 02:14:09,033 backprop done, loss after forward pass = 1.9815442562103271 +2023-09-14 02:43:09,114 backprop done, loss after forward pass = 2.020181179046631 +2023-09-14 03:12:17,966 backprop done, loss after forward pass = 2.0041542053222656 +2023-09-14 03:41:20,649 backprop done, loss after forward pass = 1.9396495819091797 +2023-09-14 05:06:31,414 backprop done, loss after forward pass = 2.1592249870300293 +2023-09-14 05:35:39,080 backprop done, loss after forward pass = 1.976989984512329 +2023-09-14 06:04:57,859 backprop done, loss after forward pass = 1.7638890743255615 +2023-09-14 06:34:06,953 backprop done, loss after forward pass = 1.9829202890396118 +2023-09-14 07:03:18,661 backprop done, loss after forward pass = 1.754631519317627 +2023-09-14 07:32:26,179 backprop done, loss after forward pass = 2.027863025665283 +2023-09-14 08:01:37,546 backprop done, loss after forward pass = 1.8579339981079102 +2023-09-14 08:30:41,689 backprop done, loss after forward pass = 1.7934837341308594 +2023-09-14 08:59:55,921 backprop done, loss after forward pass = 1.794022798538208 +2023-09-14 09:28:59,690 backprop done, loss after forward pass = 1.750269889831543 +2023-09-14 10:56:19,282 backprop done, loss after forward pass = 1.4310824871063232 +2023-09-14 11:25:28,462 backprop done, loss after forward pass = 1.6895856857299805 +2023-09-14 11:54:39,973 backprop done, loss after forward pass = 1.5074403285980225 +2023-09-14 12:23:42,604 backprop done, loss after forward pass = 1.6695624589920044 +2023-09-14 12:53:00,535 backprop done, loss after forward pass = 1.4220315217971802 +2023-09-14 13:22:15,685 backprop done, loss after forward pass = 1.5720497369766235 +2023-09-14 13:51:30,744 backprop done, loss after forward pass = 1.544579267501831 +2023-09-14 14:20:44,482 backprop done, loss after forward pass = 1.2813694477081299 +2023-09-14 14:50:03,384 backprop done, loss after forward pass = 1.2990479469299316 +2023-09-14 15:19:09,620 backprop done, loss after forward pass = 1.0500637292861938 +``` + +We used prompt 'slowllama is a ', and here you can see the completions: +* before any weight update: _slowllama is a 24 year old (DOB: December 25, 1994) pure-blood witch_ +* after 10 iterations: _slowllama is a 24 year old (DOB: December 25, 1994) pure-blood witch_ +* after 20 iterations: _slowllama is a 70B model trained on the same data as llama.70b, but with a different training setup._ +* after 30 iterations: _slowllama is a 2022 fork of llama2, which is a 2021 fork of llama, which is a 2020 fork_ +* after 40 iterations: _slowllama is a 2-stage finetuning implementation for llama2._ + +Current setup is probably too slow for 70B model finetuning on old mac mini M1. It would be interesting to try it on more recent hardware (say, M2 Max / M2 Pro), implement prefetch/async save and see how it's going to work. + +**Float16 update:** + +Using Fp16 both for storing frozen weights and compute on MPS devices considerably improves memory requirements and time for iteration. A few notes: +* update torch to 2.1.0, otherwise mps might try to use apple neural engine for fp16 compute and it's not working quite well yet (see https://github.com/pytorch/pytorch/issues/110975) +* time win comes from the fact that we don't have to transform each block from bf16 to fp32. + +Here you can see finetune 70B model with M1 mac mini where weights are stored in fp16 and compute is done in fp16 as well. Input size is fairly small - batch size = 16 and seq_len = 128. + +Forward pass with 100ms granularity +![finetune](static/finetune_fwd.png) + +Combined pass with 100ms granularity +![finetune](static/finetune_combined.png) + +GPU utilization is at ~89% for combined pass and ~78% for forward. Now prefetch and saving in different format might make a difference. + +### merging LoRA weights back + +In order to merge LoRA checkpoint back to the model in original format, we can do the following: + +``` +# confirm that old model is producing wrong output +python test_gen.py + +... +0 - Cubestat reports the following metrics: 1) the number of cubes in the system, 2) the number of cubes that are currently running, 3) the number of cubes that are currently stopped, 4) the number of cubes that are currently in the process of starting, + +# check what would be the output for finetuned model by passing path to checkpoint +python test_gen.py ./out/state_dict_18.pth + +... +0 - Cubestat reports the following metrics: + +CPU utilization - configurable per core ('expanded'), cluster of cores: Efficiency/Performance ('cluster') or both. Is shown as percentage. +GPU utilization per card/chip. Is shown in percentage. Works for Apple's M1/M2 SoC and nVidia GPUs. For nVidia GPU shows memory usage as well. +ANE (Apple's Neural Engine) power consumption..... + +# now run merge. we need to pass: +# - original model path +# - new path for new model +# - lora checkpoint path +# note that merge would first delete the output directory if it exists and copy over original weights there. +python merge_lora.py ../llama-2-13b ./out/state_dict_18.pth ../llama-2-13b-out + +# at this point ../llama-2-13b-out is merged can be used in exactly same way as original llama2 for further quantization, inference, etc. + + +# If we want to run inference within slowllama for testing, we need to run prepare_model.py again. +# update the llama2_model_path in conf.py to be ../llama-2-13b-out/ and in conf_16.py frozen_model_path = '../llama13b_f16-out' + +python prepare_model.py + +# now run new model with no extra checkpoint, observe new output, same as in runtime-combined model: +python test_gen.py + +... +0 - Cubestat reports the following metrics: + +CPU utilization - configurable per core ('expanded'), cluster of cores: Efficiency/Performance ('cluster') or both. Is shown as percentage. +GPU utilization per card. Is shown in percentage. Works for Apple's M1/M2 SoC and nVidia GPUs. For nVidia GPU shows memory usage as well. +ANE (Apple's Neural Engine) power consumption..... + +``` + +### Project structure + +Just a few files with no dependencies other than torch, numpy and sentencepiece for tokenizer. + +1. [llama2.py](llama2.py) -- model definition and manual backprop implementation. It's based on model.py from [llama2.c](https://github.com/karpathy/llama2.c), also MIT licenced. +2. [finetune.py](finetune.py) - script which does the training +3. [llama2_loader.py](llama2_loader.py) - manual loading/saving of large llama2 models +4. [utils.py](utils.py) - small utility functions, including saving/loading random generator state for different devices. +5. [test_gen.py](test_gen.py) - greedily complete the prompt. Takes base weights + trained LoRA weights as input. Useful for sanity checks. +6. [blackbox.py](blackbox.py) - module wrapper which offloads the module to disk or main memory. +7. [plot_lora.py](plot_lora.py) - logging utility, writes LoRA weights and gradient distribution to [logfile](docs/lora_weights.md). Requires [fewlines](https://github.com/okuvshynov/fewlines). If fewlines is not installed, does nothing. +8. [merge_lora.py](merge_lora.py) - merge original weights + lora weights in the original format which can then be used directly. +9. [prepare_model.py](prepare_model.py) - script to transform sharded model to sequentially split model. + +### TODO: + +``` +[ ] masking +[ ] optimizations -- focus on memory usage + [ ] consider splitting transformer block into attention/ff + [ ] check if loading state dict to the same block instance would avoid the reallocation + [ ] microopt - no need to compute gradient for some of the leaf parts +[ ] more generic train routine + [ ] pause/resume from LoRA snapshot + [ ] do not create LoRA layers on prepare, only on finetune? +[ ] optimizations - prefetch the next layer/input, save asyncronously, etc; +[ ] gradient accumulation +[ ] plot something like memory requirement for (batch_size , seq_len) +[ ] combined RAM/disk offload - 200Gb RAM is rarity. +[ ] tests, cleanup and comments; +[ ] progress tracking for everything; +[ ] quantization beyond 16 bit? +[ ] configurable weight tying; +[ ] double check RNG state correctness. +``` + +### References +* [llama2](https://github.com/facebookresearch/llama) +* [llama.cpp](https://github.com/ggerganov/llama.cpp) +* [llama2.c](https://github.com/karpathy/llama2.c) +* [cubestat](https://github.com/okuvshynov/cubestat) +* [LoRA](https://arxiv.org/abs/2106.09685) + +### Contact + +{github handle} @ gmail.com diff --git a/mac/slowllama/slowllama/blackbox.py b/mac/slowllama/slowllama/blackbox.py new file mode 100644 index 0000000..a2d5280 --- /dev/null +++ b/mac/slowllama/slowllama/blackbox.py @@ -0,0 +1,60 @@ +import os + +import torch + +from utils import device_map, next_id, device_supports_dtype +from model_config import ModelArgs + +class BlackboxDisk(torch.nn.Module): + def __init__(self, module, args: ModelArgs): + super().__init__() + self.module_id = next_id() + self.input_id = next_id() + self.compute_dtype = args.compute_dtype + self.served_model_path = args.served_model_path + self.cached_data_path = args.cached_data_path + # TODO: can we deduce this from the data itself + self.frozen_dtype = args.frozen_dtype + if args.init_frozen: + torch.save(module.to('cpu').to(self.frozen_dtype), self.frozen_path()) + + def frozen_path(self): + folder = os.path.join(self.served_model_path, 'frozen') + if not os.path.exists(folder): + os.makedirs(folder) + return os.path.join(folder, f'block_{self.module_id}.pt') + + def input_path(self): + folder = os.path.join(self.cached_data_path, 'inputs') + if not os.path.exists(folder): + os.makedirs(folder) + return f'{folder}/saved_{self.input_id}.pt' + + def loaded_inner(self): + return torch.load(self.frozen_path(), map_location='cpu') + + def load(self, device): + if device_supports_dtype(device, self.frozen_dtype): + return torch.load(self.frozen_path(), map_location=device_map(device)).to(self.compute_dtype) + else: + res = torch.load(self.frozen_path(), map_location='cpu') + return res.to(self.compute_dtype).to(device_map(device)) + + def save(self, module): + torch.save(module.to('cpu').to(self.frozen_dtype), self.frozen_path()) + + def load_input(self, device): + return torch.load(self.input_path(), map_location=torch.device(device_map(device))) + + def forward(self, input, *args): + torch.save(input, self.input_path()) + device = device_map(input.device) + module = self.load(device) + + if not self.training: + module.eval() + + # we offload model immediately anyway. + # no need to have gradient here ever. + with torch.no_grad(): + return module(input, *args) \ No newline at end of file diff --git a/mac/slowllama/slowllama/chat.py b/mac/slowllama/slowllama/chat.py new file mode 100644 index 0000000..05431b5 --- /dev/null +++ b/mac/slowllama/slowllama/chat.py @@ -0,0 +1,29 @@ +import logging +import torch +import sys +import os + +from llama2_loader import load_frozen +from utils import Tokenizer, greedy_gen2 +from conf_fp16 import * + +logging.basicConfig(format='%(asctime)s %(message)s', level=logging.WARN) + +lora_weights = sys.argv[1] if len(sys.argv) > 1 else None + +tokenizer_path = os.path.join(frozen_model_path, 'tokenizer.model') +tokenizer = Tokenizer(tokenizer_path) + +model = load_frozen(frozen_model_path, dropout=0.0, lora_rank=4, frozen_dtype=frozen_dtype, compute_dtype=compute_dtype).to(device) +if lora_weights is not None: + logging.debug(model.load_state_dict(torch.load(lora_weights), strict=False)) + +print(f'Model {frozen_model_path} loaded') + +while True: + prompt = input("> ") + while True: + for next in greedy_gen2(model, tokenizer, device, prompt, max_new_tokens=100): + sys.stdout.write(next) + sys.stdout.flush() + diff --git a/mac/slowllama/slowllama/conf.py b/mac/slowllama/slowllama/conf.py new file mode 100644 index 0000000..44906f2 --- /dev/null +++ b/mac/slowllama/slowllama/conf.py @@ -0,0 +1,55 @@ +import logging + +# which device to use for finetuning +# 'cpu', 'mps' (for Apple devices) or 'cuda' +device = 'mps' + +# random seed to use. Makes runs reproducible. +seed = 54321 + +# learning rate +lr = 1e-4 + +# logging gradient and weight distribution to log file +# useful for debugging, but makes more +log_lora_grad = False +log_lora_weight = False + +# how wide would LoRA layers be? (N x lora_rank) and (lora_rank x M). +# Larger number - larger layer - more capacity. +lora_rank = 4 + +log_level = logging.DEBUG + +# training settings + +# total number of iterations to run. No microbatching so far +iters = 20 + +# how long should be the sequence to train on? +# we pick seq_len tokens and try to predict token [seq_len + 1] +seq_len = 128 + +# how large should be the batch size? +batch_size = 16 + +# current script doesn't have validation set at all. +# instead, we run prompt completion every eval_period iterations +# and check how the completion look like +eval_before_training = False +eval_period = 20 + +# how many tokens to generate for such test completion +gen_tokens = 32 +# what prompt to use for test completion +prompt = 'Cubestat reports the following metrics: ' + +# where to save LoRA snapshots +snapshots_path = 'out' + +# plaintext input file which will be tokenized and used for training +finetune_file = './test_data/cubestat.txt' + +# which model to use - path to raw model +llama2_model_path = '../llama-2-13b' +#llama2_model_path = '../llama-2-13b-out' diff --git a/mac/slowllama/slowllama/conf_fp16.py b/mac/slowllama/slowllama/conf_fp16.py new file mode 100644 index 0000000..58e9178 --- /dev/null +++ b/mac/slowllama/slowllama/conf_fp16.py @@ -0,0 +1,9 @@ +import torch +from conf import * + +adamw_eps = 1e-4 +compute_dtype = torch.float16 +frozen_dtype = torch.float16 + +frozen_model_path = '../llama13b_f16' +#frozen_model_path = '../llama13b_f16-out' diff --git a/mac/slowllama/slowllama/conf_fp32.py b/mac/slowllama/slowllama/conf_fp32.py new file mode 100644 index 0000000..12cfb6b --- /dev/null +++ b/mac/slowllama/slowllama/conf_fp32.py @@ -0,0 +1,8 @@ +import torch +from conf import * + +adamw_eps = 1e-8 +compute_dtype = torch.float32 +frozen_dtype = torch.bfloat16 + +frozen_model_path = '../llama7b' \ No newline at end of file diff --git a/mac/slowllama/slowllama/docs/a10.md b/mac/slowllama/slowllama/docs/a10.md new file mode 100644 index 0000000..65e5384 --- /dev/null +++ b/mac/slowllama/slowllama/docs/a10.md @@ -0,0 +1,64 @@ +# Testing/notes for CUDA implementation + +Current version is tested the following instance config: +1. A10 GPU, 24Gb +2. 200 Gb RAM +3. 30 core intel cpu +4. 1.4 Tb SSD drive + +Running finetune for 7B llama works reasonably fast, but GPU utilization is bad - we can do much better. + +![finetune a10](static/finetune_a10_7b.png) + +Several immediate observations here: +1. one CPU core is 100% utilized. What exactly is it doing, moving data around, supposedly? +2. no disk reads are happening - we most likely just serve all files from cache. +3. each burst of writes is a forward pass - we save inputs. GPU util is especially bad there. +4. On backward/combined pass GPU utilization is slightly better but not much. +5. The time before first forward pass is generation - we use batch of size 1 here so utilization is very low but that's to be expected +6. GPU memory util is low as well - we can go with much larger batch size + +What should we do? +1. With this amount of memory we don't need to write to disk ever. We can just move layers back and forth between main memory and GPU +2. Optionally prefetch and save async. + +Let's check 7B model: + +offloading to disk: +``` +2023-09-05 22:11:56,099 starting iteration 5 +2023-09-05 22:12:16,246 starting iteration 6 +2023-09-05 22:12:36,387 starting iteration 7 +2023-09-05 22:12:56,433 starting iteration 8 +``` + +Each iteration takes ~20s + +After offloading the layers to RAM rather than disk, we get considerable speedup: +``` +2023-09-05 22:19:27,544 starting iteration 5 +2023-09-05 22:19:35,563 starting iteration 6 +2023-09-05 22:19:43,580 starting iteration 7 +2023-09-05 22:19:51,603 starting iteration 8 +``` + +Each iteration is ~8 seconds. + +For 70B model on disk: +``` +2023-09-06 00:08:59,143 starting iteration 5 +2023-09-06 00:10:41,738 starting iteration 6 +2023-09-06 00:12:24,215 starting iteration 7 +2023-09-06 00:14:04,903 starting iteration 8 +``` +~100s / iteration + +70B model on RAM: +``` +2023-09-05 23:14:31,709 starting iteration 5 +2023-09-05 23:15:46,593 starting iteration 6 +2023-09-05 23:17:01,593 starting iteration 7 +2023-09-05 23:18:16,730 starting iteration 8 +``` + +~75s / iteration diff --git a/mac/slowllama/slowllama/docs/lora_weights.md b/mac/slowllama/slowllama/docs/lora_weights.md new file mode 100644 index 0000000..8f3df4b --- /dev/null +++ b/mac/slowllama/slowllama/docs/lora_weights.md @@ -0,0 +1,416 @@ +Here's a log of how lora weights are changing during finetuning after first few iterations with AdamW. + +Produced with [fewlines](https://github.com/okuvshynov/fewlines). + +As we can see, after first step matrix B which was initialized with zeroes becomes bimodal - each weight makes a step either +lr or -lr. +After that it slowly creeps to the middle. + + +``` +=== WEIGHTS A === +2023-09-11 09:19:26,617 ~~~~~~~~~~~ -0.0156|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|0.0156 +2023-09-11 09:19:26,617 Q0.A|▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇| +2023-09-11 09:19:26,617 V0.A|▇▆▇▇▇▇▇▇▇▆▇▇▇▆▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇| +2023-09-11 09:19:26,617 Q1.A|▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▆▇▆▇▇▇▇▆▇▇▇▇▇| +2023-09-11 09:19:26,617 V1.A|▇▆▇▆▇▇▆▆▇▆▇▇▇▆▇▇▇▆▇▆▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▆▆▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇| +2023-09-11 09:19:26,617 Q2.A|▇▇▇▇▇▆▇▇▇▇▆▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇| +2023-09-11 09:19:26,617 V2.A|▆▇▆▆▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇| +2023-09-11 09:19:26,617 Q3.A|▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▆▆| +2023-09-11 09:19:26,617 V3.A|▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▆▇| +2023-09-11 09:19:26,617 Q4.A|▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇| +2023-09-11 09:19:26,617 V4.A|▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇| +2023-09-11 09:19:26,617 Q5.A|▆▇▆▇▇▇▇▇▆▆▇▇▆▇▇▇▆▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▆▆▇▆▇▆▇▇▇▇▇▇▆▇▇▆| +2023-09-11 09:19:26,617 V5.A|▆▆▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇| +2023-09-11 09:19:26,617 Q6.A|▇▆▇▆▇▆▆▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▆▆▇▇▆▆▆▇▇▆▇▇▆▇▇▇▇▇| +2023-09-11 09:19:26,617 V6.A|▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇| +2023-09-11 09:19:26,617 Q7.A|▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇| +2023-09-11 09:19:26,617 V7.A|▆▇▇▆▆▆▇▆▇▆▇▇▇▆▇▇▇▆▇▆▆▇▇▆▆▇▇▇▇▇▇▆▇▆▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆| +2023-09-11 09:19:26,617 Q8.A|▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▆▇▇▆▆▆▆▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇| +2023-09-11 09:19:26,617 V8.A|▇▆▇▆▆▆▇▇▇▆▆▆▇▇▆▇▆▆▇▆▇▇▇▇▇▇▇▇▇▇▆▆▇▆▇▇▇▇▇▇▇▆▆▇▇▆▇▇▇▇▆▇▆▇▇▇▇▇▇▆| +2023-09-11 09:19:26,617 Q9.A|▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇| +2023-09-11 09:19:26,617 V9.A|▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇| +2023-09-11 09:19:26,617 Q10.A|▇▇▇▆▇▇▆▆▇▇▇▇▇▇▆▇▇▇▇▇▆▇▆▇▇▆▇▇▆▇▆▇▇▆▇▇▇▆▇▇▇▇▇▇▆▆▇▇▇▇▆▆▇▆▇▇▆▆▆▇| +2023-09-11 09:19:26,617 V10.A|▇▇▇▇▆▇▆▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▇▆▆▇▇▇▇▇▆▇▆▇▇▆▇▆▇▇▇▇▆▇▇| +2023-09-11 09:19:26,617 Q11.A|▇▇▇▇▆▆▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▆▆▇▇▇▆▇▇▆▇▇▇▇▇| +2023-09-11 09:19:26,617 V11.A|▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▆▆▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇| +2023-09-11 09:19:26,617 Q12.A|▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▆▆▆▆▇▇▆▇▇▇▆▇▇▆| +2023-09-11 09:19:26,617 V12.A|▆▇▆▇▇▇▆▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇| +2023-09-11 09:19:26,617 Q13.A|▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇| +2023-09-11 09:19:26,617 V13.A|▇▇▆▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▆▆▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇| +2023-09-11 09:19:26,617 Q14.A|▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▆▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇| +2023-09-11 09:19:26,617 V14.A|▆▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆| +2023-09-11 09:19:26,617 Q15.A|▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▆▇▇▆▇▇▇▇▇▇▇▇| +2023-09-11 09:19:26,617 V15.A|▆▇▇▇▆▇▆▆▆▆▇▆▆▇▆▇▇▆▇▆▇▆▇▆▆▆▆▇▆▇▆▆▆▇▇▇▆▆▇▇▆▆▇▇▆▆▇▇▇▆▆▇▇▆▇▇▇▆▇▆| +2023-09-11 09:19:26,617 Q16.A|▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▆▇▇▇▆▇▇▇▆▆▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆| +2023-09-11 09:19:26,617 V16.A|▇▆▆▆▆▆▇▆▇▇▇▇▆▇▆▇▆▆▇▇▆▇▆▆▇▇▆▇▇▇▇▇▇▇▆▇▆▇▆▆▇▇▇▆▇▇▆▆▇▇▇▇▆▆▆▆▆▇▆▆| +2023-09-11 09:19:26,617 Q17.A|▆▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▆▇▇▇▆▇▆▆▇▇▇▆▇▇▇▇▆▇▇▇▇▆▇▆▇▆▇▇▇| +2023-09-11 09:19:26,617 V17.A|▇▇▆▆▆▇▇▇▇▇▇▆▇▇▇▆▇▆▇▆▇▇▇▆▇▆▇▆▆▆▆▆▆▇▆▆▆▆▇▆▇▇▆▇▆▇▆▆▇▇▇▇▇▇▆▇▇▇▇▆| +2023-09-11 09:19:26,617 Q18.A|▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▆▆▇▇▆▇▆▆▇▆▇▇▆▆▇▇▆▇▆▇▇▇▆▆▇▇▇▆▆▇▇▇▇▇▇| +2023-09-11 09:19:26,617 V18.A|▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▆▇▇▆▆▆▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▆▇▇▆▇▇▇▇▇▇▆| +2023-09-11 09:19:26,617 Q19.A|▆▆▇▆▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▆▇▆▇▆▇▇▇▇▇▇▇▇▇▇▆▆▇▇▆▇▇▆▆▆▇▇▇▆▆▇▇▆▇▆▇▆▆▆▆▆| +2023-09-11 09:19:26,617 V19.A|▇▇▇▆▆▆▇▆▇▇▆▆▇▆▇▆▇▆▇▆▆▆▇▆▆▇▇▆▆▇▇▇▆▆▇▆▇▆▇▆▆▆▆▇▇▇▆▇▆▆▆▆▇▆▆▇▆▇▆▆| +2023-09-11 09:19:26,617 Q20.A|▇▆▆▇▆▇▆▇▆▆▆▆▆▇▇▆▇▆▇▇▆▆▇▆▆▆▇▆▇▇▆▆▆▆▇▆▇▇▇▇▆▆▇▆▇▇▆▇▇▆▆▆▇▆▇▇▆▆▇▇| +2023-09-11 09:19:26,617 V20.A|▇▇▇▇▇▇▇▇▇▇▆▆▇▆▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇| +2023-09-11 09:19:26,617 Q21.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▆▇| +2023-09-11 09:19:26,617 V21.A|▇▇▇▇▇▆▆▇▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇| +2023-09-11 09:19:26,617 Q22.A|▆▆▇▆▇▇▆▆▆▇▇▇▆▆▆▆▆▇▆▆▆▆▆▆▆▇▇▆▆▆▆▆▇▆▇▆▇▆▇▆▆▆▇▆▆▆▆▇▆▆▇▇▆▆▇▇▆▆▆▇| +2023-09-11 09:19:26,617 V22.A|▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▆▆▆▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▆▇| +2023-09-11 09:19:26,617 Q23.A|▆▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇| +2023-09-11 09:19:26,618 V23.A|▆▇▇▆▇▆▆▇▆▇▇▆▇▆▆▇▇▇▇▆▆▆▆▇▇▇▇▇▇▇▇▇▇▆▆▆▇▇▆▆▇▇▆▆▇▆▆▆▇▇▇▇▇▆▇▆▇▇▇▆| +2023-09-11 09:19:26,618 Q24.A|▇▇▇▆▆▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▆▇▇▇▇▆▇▆▇▇▆▆▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▆▆▇| +2023-09-11 09:19:26,618 V24.A|▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▆▆▆▇▆▇▇▇▇▆▆▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇| +2023-09-11 09:19:26,618 Q25.A|▇▇▇▇▆▇▇▇▆▇▆▇▇▆▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇| +2023-09-11 09:19:26,618 V25.A|▇▇▇▇▇▆▇▇▇▇▇▇▇▆▆▇▆▇▇▇▆▇▇▇▇▇▆▇▇▇▆▇▇▆▇▆▆▇▇▆▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇| +2023-09-11 09:19:26,618 Q26.A|▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇| +2023-09-11 09:19:26,618 V26.A|▇▆▆▇▇▇▇▇▆▇▆▆▆▆▇▇▇▇▇▇▆▇▇▇▆▆▇▆▇▇▇▇▇▇▆▇▇▆▇▇▆▇▇▇▇▆▇▇▆▇▇▆▇▇▆▇▇▇▇▇| +2023-09-11 09:19:26,618 Q27.A|▇▇▆▇▇▆▇▇▆▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▆▆▇▇▆▆▇▇▇▇▇▆▇▇▆▇▆▇▇▇▇▇▇▇▆▇▇▆| +2023-09-11 09:19:26,618 V27.A|▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇| +2023-09-11 09:19:26,618 Q28.A|▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆| +2023-09-11 09:19:26,618 V28.A|▆▇▇▇▇▆▇▇▆▇▇▇▆▇▇▆▇▇▆▇▇▇▆▇▆▆▇▇▇▆▇▇▆▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇| +2023-09-11 09:19:26,618 Q29.A|▆▇▇▇▇▇▆▇▇▆▇▇▇▇▆▇▆▆▇▇▆▆▇▇▆▆▆▇▇▆▇▆▆▇▇▇▆▇▆▇▇▇▇▇▆▇▆▇▇▇▆▇▇▇▇▇▇▇▇▆| +2023-09-11 09:19:26,618 V29.A|▆▆▇▆▇▆▇▆▇▇▆▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇| +2023-09-11 09:19:26,618 Q30.A|▆▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇| +2023-09-11 09:19:26,618 V30.A|▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇| +2023-09-11 09:19:26,618 Q31.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▆▇▇| +2023-09-11 09:19:26,618 V31.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇| +2023-09-11 09:19:26,618 +=== WEIGHTS B === +2023-09-11 09:19:27,099 ~~~~~~~~~~~ -0.0001|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|0.0001 +2023-09-11 09:19:27,100 Q0.B|▇ ▇| +2023-09-11 09:19:27,100 V0.B|▇ ▇| +2023-09-11 09:19:27,100 Q1.B|▇ ▇| +2023-09-11 09:19:27,100 V1.B|▇ ▇| +2023-09-11 09:19:27,100 Q2.B|▇ ▇| +2023-09-11 09:19:27,100 V2.B|▇ ▇| +2023-09-11 09:19:27,100 Q3.B|▇ ▇| +2023-09-11 09:19:27,100 V3.B|▇ ▇| +2023-09-11 09:19:27,100 Q4.B|▇ ▇| +2023-09-11 09:19:27,100 V4.B|▇ ▇| +2023-09-11 09:19:27,100 Q5.B|▇ ▇| +2023-09-11 09:19:27,100 V5.B|▇ ▇| +2023-09-11 09:19:27,100 Q6.B|▇ ▇| +2023-09-11 09:19:27,100 V6.B|▇ ▇| +2023-09-11 09:19:27,100 Q7.B|▇ ▇| +2023-09-11 09:19:27,100 V7.B|▇ ▇| +2023-09-11 09:19:27,100 Q8.B|▇ ▇| +2023-09-11 09:19:27,100 V8.B|▇ ▇| +2023-09-11 09:19:27,100 Q9.B|▇ ▇| +2023-09-11 09:19:27,100 V9.B|▇ ▇| +2023-09-11 09:19:27,100 Q10.B|▇ ▇| +2023-09-11 09:19:27,100 V10.B|▇ ▇| +2023-09-11 09:19:27,100 Q11.B|▇ ▇| +2023-09-11 09:19:27,100 V11.B|▇ ▇| +2023-09-11 09:19:27,100 Q12.B|▇ ▇| +2023-09-11 09:19:27,100 V12.B|▇ ▇| +2023-09-11 09:19:27,100 Q13.B|▇ ▇| +2023-09-11 09:19:27,100 V13.B|▇ ▇| +2023-09-11 09:19:27,100 Q14.B|▇ ▇| +2023-09-11 09:19:27,100 V14.B|▇ ▇| +2023-09-11 09:19:27,100 Q15.B|▇ ▇| +2023-09-11 09:19:27,100 V15.B|▇ ▇| +2023-09-11 09:19:27,100 Q16.B|▇ ▇| +2023-09-11 09:19:27,100 V16.B|▇ ▇| +2023-09-11 09:19:27,100 Q17.B|▇ ▇| +2023-09-11 09:19:27,100 V17.B|▇ ▇| +2023-09-11 09:19:27,100 Q18.B|▇ ▇| +2023-09-11 09:19:27,100 V18.B|▇ ▇| +2023-09-11 09:19:27,100 Q19.B|▇ ▇| +2023-09-11 09:19:27,100 V19.B|▇ ▇| +2023-09-11 09:19:27,100 Q20.B|▇ ▇| +2023-09-11 09:19:27,100 V20.B|▇ ▇| +2023-09-11 09:19:27,100 Q21.B|▇ ▇| +2023-09-11 09:19:27,100 V21.B|▇ ▇| +2023-09-11 09:19:27,100 Q22.B|▇ ▇| +2023-09-11 09:19:27,100 V22.B|▇ ▇| +2023-09-11 09:19:27,100 Q23.B|▇ ▇| +2023-09-11 09:19:27,100 V23.B|▇ ▇| +2023-09-11 09:19:27,100 Q24.B|▇ ▇| +2023-09-11 09:19:27,100 V24.B|▇ ▇| +2023-09-11 09:19:27,100 Q25.B|▇ ▇| +2023-09-11 09:19:27,101 V25.B|▇ ▇| +2023-09-11 09:19:27,101 Q26.B|▇ ▇| +2023-09-11 09:19:27,101 V26.B|▇ ▇| +2023-09-11 09:19:27,101 Q27.B|▇ ▇| +2023-09-11 09:19:27,101 V27.B|▇ ▇| +2023-09-11 09:19:27,101 Q28.B|▇ ▇| +2023-09-11 09:19:27,101 V28.B|▇ ▇| +2023-09-11 09:19:27,101 Q29.B|▇ ▇| +2023-09-11 09:19:27,101 V29.B|▇ ▇| +2023-09-11 09:19:27,101 Q30.B|▇ ▇| +2023-09-11 09:19:27,101 V30.B|▇ ▇| +2023-09-11 09:19:27,101 Q31.B|▇ ▇| +2023-09-11 09:19:27,101 V31.B|▇ ▇| +2023-09-11 09:19:27,119 backprop done, loss after forward pass = 2.9539270401000977 +2023-09-11 09:19:27,119 starting iteration 1 +2023-09-11 09:19:48,372 +=== WEIGHTS A === +2023-09-11 09:19:48,840 ~~~~~~~~~~~ -0.0157|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|0.0157 +2023-09-11 09:19:48,841 Q0.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▆▇▇▇▇▆▇▇▇▇▇▇▆▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆| +2023-09-11 09:19:48,841 V0.A|▆▆▇▇▇▇▇▇▆▆▆▇▇▆▆▆▇▆▆▇▇▆▇▆▇▇▆▇▇▇▆▆▇▆▆▇▇▆▇▇▇▆▆▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▅| +2023-09-11 09:19:48,841 Q1.A|▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▆▇▇▇▇▇▆▇▆▇▆▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▆▇▆▇▇▇▇▆▇▇▇▇▆| +2023-09-11 09:19:48,841 V1.A|▆▆▇▆▇▇▆▇▇▆▇▇▇▆▇▇▆▇▇▆▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆| +2023-09-11 09:19:48,841 Q2.A|▆▇▇▇▇▆▇▇▇▇▆▇▆▆▇▇▇▇▇▇▆▇▇▇▇▆▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆| +2023-09-11 09:19:48,841 V2.A|▅▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆| +2023-09-11 09:19:48,841 Q3.A|▆▇▇▆▇▆▇▇▆▇▇▇▆▇▇▇▆▇▇▇▇▆▇▇▇▆▇▇▇▇▇▆▇▆▇▇▇▆▇▆▇▇▇▇▇▇▆▇▆▇▇▇▆▇▇▇▆▇▆▅| +2023-09-11 09:19:48,841 V3.A|▆▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▆▆| +2023-09-11 09:19:48,841 Q4.A|▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▆▇▆▇▇▆▇▇▆▇▆▆▇▆▇▇▇▇▇▇▆▇▇▇▆▆| +2023-09-11 09:19:48,841 V4.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆| +2023-09-11 09:19:48,841 Q5.A|▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▅| +2023-09-11 09:19:48,841 V5.A|▅▆▇▇▆▇▆▆▇▆▇▇▆▇▇▇▆▇▇▇▇▆▇▇▆▇▆▇▇▇▆▇▇▇▇▇▆▇▆▆▆▆▆▇▇▆▆▇▇▆▇▇▇▇▇▇▇▇▇▆| +2023-09-11 09:19:48,841 Q6.A|▆▆▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▆▇▇▇▆▇▇▇▇▇▇▇▆| +2023-09-11 09:19:48,841 V6.A|▅▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▆| +2023-09-11 09:19:48,841 Q7.A|▅▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▆| +2023-09-11 09:19:48,841 V7.A|▆▇▇▆▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅| +2023-09-11 09:19:48,841 Q8.A|▆▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▆| +2023-09-11 09:19:48,841 V8.A|▆▆▇▆▆▆▇▇▇▆▆▆▇▇▇▇▆▆▇▆▇▇▇▆▇▇▇▇▇▇▆▆▇▆▇▇▇▇▇▇▆▇▆▇▇▆▇▇▇▆▆▇▆▇▇▆▇▇▇▅| +2023-09-11 09:19:48,841 Q9.A|▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆| +2023-09-11 09:19:48,841 V9.A|▆▇▇▆▇▇▇▆▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▆▇▇▆▇▇▇▆▇▇▇▇▇▆▇▇▇▆▇▇▇▇▆▇▇▆| +2023-09-11 09:19:48,841 Q10.A|▆▇▇▆▆▆▇▆▇▇▇▇▆▇▇▇▇▇▇▇▆▇▆▇▇▆▇▇▆▇▆▇▇▆▇▇▇▆▆▇▇▇▇▇▆▆▇▇▇▇▆▆▇▆▇▇▆▆▆▆| +2023-09-11 09:19:48,841 V10.A|▆▇▇▇▆▇▆▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▆▇▆▇▇▆▇▇▇▇▇▇▇▇▆| +2023-09-11 09:19:48,841 Q11.A|▆▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▆| +2023-09-11 09:19:48,841 V11.A|▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▆| +2023-09-11 09:19:48,841 Q12.A|▆▆▆▆▇▇▇▇▇▆▇▆▇▇▆▆▇▆▇▇▇▇▆▇▇▇▆▆▇▇▇▇▆▇▇▆▇▇▆▇▇▆▇▇▆▇▆▆▆▆▆▇▆▆▇▆▇▆▇▅| +2023-09-11 09:19:48,841 V12.A|▅▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆| +2023-09-11 09:19:48,841 Q13.A|▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▆▇▇▇▆▇▇▇▆▆| +2023-09-11 09:19:48,841 V13.A|▆▇▆▇▇▇▆▆▇▇▇▇▇▇▇▆▇▇▇▆▇▆▆▇▆▆▇▇▇▇▆▇▇▇▇▇▆▆▆▇▆▇▆▇▆▇▆▇▇▇▇▇▇▇▆▇▇▇▇▆| +2023-09-11 09:19:48,841 Q14.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▆▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▆▇▇▆| +2023-09-11 09:19:48,841 V14.A|▅▆▇▇▆▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆| +2023-09-11 09:19:48,841 Q15.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆| +2023-09-11 09:19:48,841 V15.A|▅▆▇▇▆▇▆▆▆▆▆▇▇▆▆▇▇▆▇▆▇▆▆▆▆▆▇▇▆▆▆▆▆▆▇▇▆▆▇▇▆▆▆▆▆▆▆▇▇▆▆▇▇▆▇▇▆▆▇▅| +2023-09-11 09:19:48,841 Q16.A|▆▇▆▇▇▆▇▇▇▇▇▇▇▇▆▇▆▇▇▇▆▇▇▇▇▆▇▇▇▆▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▅| +2023-09-11 09:19:48,841 V16.A|▆▆▇▆▇▇▇▇▇▇▇▇▇▇▆▇▆▆▇▇▇▇▆▆▇▇▆▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▅| +2023-09-11 09:19:48,841 Q17.A|▅▇▇▆▆▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▆▇▇▇▆▇▇▆▇▇▇▆▇▆▆▇▇▇▆▇▆▇▇▆▇▇▇▇▆▇▆▇▆▇▇▆| +2023-09-11 09:19:48,841 V17.A|▆▇▆▆▆▇▇▇▇▇▆▆▇▇▇▆▇▇▆▆▇▇▇▆▇▆▇▆▆▇▆▆▇▆▆▆▇▆▇▆▇▇▆▇▆▇▆▇▇▇▇▆▇▆▇▇▇▇▇▅| +2023-09-11 09:19:48,841 Q18.A|▆▇▆▇▇▇▆▇▇▇▆▇▇▇▇▇▆▆▇▇▆▆▇▇▇▇▆▆▇▆▇▇▆▇▇▇▇▆▆▇▇▆▇▆▇▇▇▆▇▆▇▇▆▇▆▇▇▇▇▆| +2023-09-11 09:19:48,841 V18.A|▆▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▆▇▇▇▇▇▇▅| +2023-09-11 09:19:48,841 Q19.A|▅▆▆▇▇▇▇▇▇▇▇▆▇▇▇▆▆▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▆▇▆▆▆▇▆▆▆▇▇▇▆▆▆▇▇▇▆▇▆▇▆▆▅| +2023-09-11 09:19:48,841 V19.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▆▇▆▇▆▇▇▇▇▇▆| +2023-09-11 09:19:48,841 Q20.A|▆▆▆▆▆▇▆▇▇▆▆▆▆▇▇▇▇▆▇▇▆▆▇▆▆▆▇▆▇▇▆▆▆▆▆▆▇▇▇▇▆▆▇▇▇▆▆▇▇▆▆▆▆▇▇▇▇▆▇▆| +2023-09-11 09:19:48,841 V20.A|▆▆▇▇▆▇▇▇▇▇▆▆▆▆▇▇▆▇▆▇▆▆▆▆▇▇▇▇▇▇▇▆▆▇▆▇▇▇▆▆▆▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▆▆▆| +2023-09-11 09:19:48,841 Q21.A|▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▆▇▆| +2023-09-11 09:19:48,841 V21.A|▆▆▇▆▇▆▆▆▇▇▇▇▇▆▆▇▆▆▇▆▇▇▇▆▆▇▇▇▇▆▆▇▇▆▇▇▆▆▇▇▇▇▇▇▇▇▇▇▆▇▆▇▆▆▆▇▇▇▇▅| +2023-09-11 09:19:48,841 Q22.A|▆▇▇▇▇▇▆▇▇▇▇▇▆▆▇▇▇▇▇▇▆▆▇▆▆▇▇▆▆▆▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▆▆▇▇▆▇▇▇▇▆▇▆| +2023-09-11 09:19:48,841 V22.A|▅▇▇▇▆▆▇▆▇▇▇▇▇▇▆▇▇▆▆▆▇▆▆▇▆▇▇▆▆▇▇▇▇▇▇▇▇▇▆▇▆▆▆▇▇▇▆▇▆▆▇▇▇▆▇▇▆▇▆▆| +2023-09-11 09:19:48,841 Q23.A|▆▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆| +2023-09-11 09:19:48,841 V23.A|▅▆▇▆▇▆▆▇▇▇▇▆▇▆▆▇▇▇▇▆▆▇▆▇▇▇▇▆▇▇▇▇▇▆▆▇▇▇▆▆▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▅| +2023-09-11 09:19:48,841 Q24.A|▆▇▇▆▆▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▆▇▇▇▇▆▇▆▇▇▆▆▆▇▇▆▇▆▇▇▆▇▇▇▇▇▇▇▆▇▆▆▇▇▇▇▆▇▆| +2023-09-11 09:19:48,841 V24.A|▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▆▆▇▇▇▇▇▇▇▆▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆| +2023-09-11 09:19:48,841 Q25.A|▆▇▇▇▆▇▇▆▆▇▆▇▇▆▆▇▆▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▆▇▇▆▇▇▇▇▇▆| +2023-09-11 09:19:48,841 V25.A|▆▇▆▇▇▆▇▇▆▇▆▇▇▆▆▇▆▇▆▆▇▇▇▇▇▇▆▇▆▇▇▆▇▆▇▆▆▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆| +2023-09-11 09:19:48,841 Q26.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▆| +2023-09-11 09:19:48,841 V26.A|▆▆▇▇▇▇▇▇▇▆▇▆▆▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▆| +2023-09-11 09:19:48,841 Q27.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▅| +2023-09-11 09:19:48,841 V27.A|▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆| +2023-09-11 09:19:48,841 Q28.A|▆▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▅| +2023-09-11 09:19:48,841 V28.A|▆▇▇▇▇▆▇▇▆▇▇▇▆▇▇▆▇▇▆▇▆▇▆▇▇▆▇▇▆▆▇▇▆▇▆▇▇▆▇▇▇▇▇▆▇▇▇▇▆▇▆▇▆▇▇▇▇▇▇▆| +2023-09-11 09:19:48,841 Q29.A|▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▆▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅| +2023-09-11 09:19:48,841 V29.A|▆▆▇▆▇▇▇▆▆▇▆▇▇▇▇▇▇▆▇▆▇▇▆▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▆▇▇▇▆▇▆▇▇▇▇▇▆▇▇▇▇▇▆▇▇▆| +2023-09-11 09:19:48,841 Q30.A|▅▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆| +2023-09-11 09:19:48,841 V30.A|▅▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▆▇▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆| +2023-09-11 09:19:48,841 Q31.A|▅▇▇▇▆▆▇▇▇▇▇▆▇▆▇▆▇▆▇▇▇▆▇▇▇▆▇▇▆▇▇▆▇▇▇▇▇▆▆▆▇▆▇▇▆▆▇▇▇▆▇▆▇▇▆▇▇▆▇▆| +2023-09-11 09:19:48,842 V31.A|▅▆▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▆▇▆| +2023-09-11 09:19:48,842 +=== WEIGHTS B === +2023-09-11 09:19:49,326 ~~~~~~~~~~~ -0.0002|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|0.0002 +2023-09-11 09:19:49,326 Q0.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:19:49,326 V0.B|▇▂▁▁ ▁▂▇| +2023-09-11 09:19:49,326 Q1.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:19:49,326 V1.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 Q2.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:19:49,326 V2.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 Q3.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:19:49,326 V3.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 Q4.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:19:49,326 V4.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 Q5.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:19:49,326 V5.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 Q6.B|▇▂▁ ▁▁▂▇| +2023-09-11 09:19:49,326 V6.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 Q7.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:19:49,326 V7.B|▇▂▁ ▁▁▇| +2023-09-11 09:19:49,326 Q8.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 V8.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 Q9.B|▇▂▁▁ ▁▂▇| +2023-09-11 09:19:49,326 V9.B|▇▂▁ ▁▁▇| +2023-09-11 09:19:49,326 Q10.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 V10.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 Q11.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 V11.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 Q12.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 V12.B|▇▁▁ ▁▂▇| +2023-09-11 09:19:49,326 Q13.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 V13.B|▇▁▁ ▁▁▇| +2023-09-11 09:19:49,326 Q14.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 V14.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 Q15.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 V15.B|▇▁▁ ▁▁▇| +2023-09-11 09:19:49,326 Q16.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 V16.B|▇▁▁ ▁▁▇| +2023-09-11 09:19:49,326 Q17.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 V17.B|▇▁ ▁▇| +2023-09-11 09:19:49,326 Q18.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 V18.B|▇▁▁ ▁▁▇| +2023-09-11 09:19:49,326 Q19.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 V19.B|▇▁ ▁▇| +2023-09-11 09:19:49,326 Q20.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 V20.B|▇▁▁ ▁▁▇| +2023-09-11 09:19:49,326 Q21.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 V21.B|▇▁▁ ▁▁▇| +2023-09-11 09:19:49,326 Q22.B|▇▁▁ ▁▁▇| +2023-09-11 09:19:49,326 V22.B|▇▁▁ ▁▁▇| +2023-09-11 09:19:49,326 Q23.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,326 V23.B|▇▁▁ ▁▁▇| +2023-09-11 09:19:49,327 Q24.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,327 V24.B|▇▁ ▁▁▇| +2023-09-11 09:19:49,327 Q25.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,327 V25.B|▇▁▁ ▁▁▇| +2023-09-11 09:19:49,327 Q26.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,327 V26.B|▇▁▁ ▁▂▇| +2023-09-11 09:19:49,327 Q27.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,327 V27.B|▇▁▁ ▁▂▇| +2023-09-11 09:19:49,327 Q28.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,327 V28.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,327 Q29.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,327 V29.B|▇▂▁ ▁▁▇| +2023-09-11 09:19:49,327 Q30.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,327 V30.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,327 Q31.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,327 V31.B|▇▂▁ ▁▂▇| +2023-09-11 09:19:49,345 backprop done, loss after forward pass = 2.9073104858398438 +2023-09-11 09:19:49,345 saving snapshot +2023-09-11 09:19:49,392 starting iteration 2 +2023-09-11 09:20:10,670 +=== WEIGHTS A === +2023-09-11 09:20:11,137 ~~~~~~~~~~~ -0.0158|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|0.0158 +2023-09-11 09:20:11,138 Q0.A|▅▇▇▇▇▇▆▇▇▆▆▇▇▆▇▆▇▇▆▇▆▇▇▆▇▆▇▇▇▇▆▇▇▆▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▅| +2023-09-11 09:20:11,138 V0.A|▅▇▇▇▆▇▇▇▇▇▆▇▇▆▆▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▆▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 Q1.A|▅▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▆▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 V1.A|▅▆▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 Q2.A|▅▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 V2.A|▄▇▆▇▇▇▇▆▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 Q3.A|▅▇▇▆▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▆▇▇▄| +2023-09-11 09:20:11,138 V3.A|▅▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▅| +2023-09-11 09:20:11,138 Q4.A|▅▇▇▇▆▆▇▇▆▇▇▆▇▆▇▆▇▆▆▇▇▆▇▆▇▇▇▇▇▇▇▆▆▇▆▇▆▇▇▆▇▇▆▇▆▆▇▆▆▇▆▇▇▆▆▆▆▇▆▅| +2023-09-11 09:20:11,138 V4.A|▅▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▆▅| +2023-09-11 09:20:11,138 Q5.A|▄▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▆▇▇▇▄| +2023-09-11 09:20:11,138 V5.A|▄▆▇▇▆▇▇▆▇▆▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▆▆▇▆▆▇▇▆▆▇▇▆▇▇▇▆▇▇▇▇▇▅| +2023-09-11 09:20:11,138 Q6.A|▅▆▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▆▇▇▇▇▇▇▆▇▇▇▇▅| +2023-09-11 09:20:11,138 V6.A|▄▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▆▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▅| +2023-09-11 09:20:11,138 Q7.A|▄▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▆▆▆▇▇▆▇▆▆▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 V7.A|▄▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▆▇▆▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▄| +2023-09-11 09:20:11,138 Q8.A|▅▆▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▆▇▆▆▆▆▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▄| +2023-09-11 09:20:11,138 V8.A|▅▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▆▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▆▆▇▇▇▇▆▇▇▇▅| +2023-09-11 09:20:11,138 Q9.A|▅▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 V9.A|▅▇▇▆▇▇▆▆▇▇▇▆▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▆▆▇▇▆▇▇▇▆▇▇▇▇▇▆▇▇▇▆▇▇▆▇▆▇▇▅| +2023-09-11 09:20:11,138 Q10.A|▅▇▇▇▆▆▆▆▇▆▇▇▆▇▇▇▇▇▇▆▆▇▆▇▇▆▇▇▆▇▆▇▇▇▇▆▇▆▆▆▇▇▇▆▆▆▇▆▇▇▆▆▆▆▇▇▆▆▆▅| +2023-09-11 09:20:11,138 V10.A|▅▇▇▇▆▇▆▇▇▆▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▆▆▇▇▇▇▆▆▆▇▆▇▆▆▇▇▆▆▆▇▆▇▇▇▇▆▇▅| +2023-09-11 09:20:11,138 Q11.A|▅▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 V11.A|▅▆▇▆▇▆▇▆▇▇▇▇▇▇▇▇▆▆▇▇▆▇▇▇▇▇▇▆▇▆▇▆▇▆▇▇▆▇▇▇▇▇▇▆▇▇▆▇▆▇▇▇▇▇▇▇▆▇▇▄| +2023-09-11 09:20:11,138 Q12.A|▅▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▆▆▇▇▇▇▇▇▆▇▇▇▅| +2023-09-11 09:20:11,138 V12.A|▄▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 Q13.A|▅▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▆▇▇▇▇▇▇▇▇▆▇▇▇▆▇▆▇▇▇▇▇▆▇▇▇▆▅| +2023-09-11 09:20:11,138 V13.A|▄▇▆▇▇▇▆▆▇▇▇▇▇▇▇▆▇▇▇▆▇▆▆▇▆▆▇▇▆▇▆▇▇▆▇▇▆▆▆▇▆▇▇▇▆▇▇▇▇▇▇▇▆▆▇▇▆▆▇▅| +2023-09-11 09:20:11,138 Q14.A|▅▆▆▇▇▆▇▇▆▆▇▇▇▆▇▇▇▇▆▆▆▇▆▇▆▆▆▆▆▇▇▆▆▆▆▆▆▇▆▇▆▇▆▆▇▇▇▇▆▆▆▆▆▇▆▆▆▇▇▄| +2023-09-11 09:20:11,138 V14.A|▄▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▄| +2023-09-11 09:20:11,138 Q15.A|▅▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 V15.A|▄▇▇▇▆▇▆▇▆▆▆▇▇▇▆▇▇▆▇▆▇▆▆▇▆▆▆▇▇▇▆▆▆▆▇▇▆▇▆▇▆▆▇▆▆▆▇▇▇▆▆▇▇▇▇▇▆▆▇▄| +2023-09-11 09:20:11,138 Q16.A|▅▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▆▇▇▆▇▇▇▇▆▇▇▇▆▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▆▄| +2023-09-11 09:20:11,138 V16.A|▅▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 Q17.A|▄▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▅| +2023-09-11 09:20:11,138 V17.A|▄▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▆▆▇▆▆▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▅| +2023-09-11 09:20:11,138 Q18.A|▄▇▆▇▆▇▆▇▇▇▆▇▇▇▇▆▇▇▇▇▇▆▇▇▇▆▇▆▆▆▇▇▆▇▇▇▇▆▆▇▇▆▇▆▇▇▆▆▇▆▇▇▇▆▆▇▇▇▇▅| +2023-09-11 09:20:11,138 V18.A|▄▇▇▆▇▆▇▇▇▇▇▇▆▆▇▆▇▆▆▇▇▇▆▆▆▇▇▇▇▆▇▆▇▇▆▇▇▇▇▆▇▇▇▆▇▇▆▇▆▆▇▇▆▇▇▆▇▆▆▄| +2023-09-11 09:20:11,138 Q19.A|▄▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▆▇▇▇▇▆▇▆▇▇▆▇▇▆▇▆▆▄| +2023-09-11 09:20:11,138 V19.A|▅▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▅| +2023-09-11 09:20:11,138 Q20.A|▅▇▆▇▇▇▆▇▇▇▆▆▆▇▇▇▇▇▇▇▇▆▇▇▆▇▇▆▇▇▇▆▆▆▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 V20.A|▄▇▆▇▆▇▆▇▆▇▆▆▆▆▇▇▆▇▆▇▆▆▆▆▇▇▇▇▇▇▇▆▇▇▆▆▇▇▇▆▆▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▆▆▅| +2023-09-11 09:20:11,138 Q21.A|▅▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▅| +2023-09-11 09:20:11,138 V21.A|▄▇▇▇▇▆▆▇▇▆▇▇▇▇▆▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▆▇▇▇▇▇▄| +2023-09-11 09:20:11,138 Q22.A|▅▇▇▇▇▇▆▇▇▇▇▇▆▆▇▇▇▇▇▇▆▆▇▆▆▇▇▇▆▆▇▇▇▆▇▇▇▇▇▆▇▇▇▆▇▆▇▇▇▆▇▇▇▇▇▇▇▆▇▅| +2023-09-11 09:20:11,138 V22.A|▅▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▆▆▇▆▇▇▆▇▆▇▆▇▇▇▆▇▇▇▇▇▆▇▆▆▇▇▇▇▆▆▇▆▇▇▇▆▇▇▇▇▆▅| +2023-09-11 09:20:11,138 Q23.A|▅▆▇▇▇▆▆▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 V23.A|▅▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 Q24.A|▅▇▇▆▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▆▆▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▆▇▆▆▇▇▇▆▆▇▅| +2023-09-11 09:20:11,138 V24.A|▅▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▆▆▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 Q25.A|▅▇▇▇▆▇▇▆▇▇▆▇▇▆▆▆▇▆▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▆▇▇▇▇▇▆▇▇▆▇▇▇▇▇▅| +2023-09-11 09:20:11,138 V25.A|▅▇▇▆▇▆▇▇▆▇▆▇▇▆▆▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▆▇▆▇▆▆▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 Q26.A|▅▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 V26.A|▅▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▅| +2023-09-11 09:20:11,138 Q27.A|▅▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▆▇▇▆▇▇▇▇▆▇▇▇▇▆▆▇▇▇▇▇▇▆▇▇▇▇▄| +2023-09-11 09:20:11,138 V27.A|▄▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▆▆▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 Q28.A|▅▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▄| +2023-09-11 09:20:11,138 V28.A|▅▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 Q29.A|▄▇▇▆▆▆▆▆▇▆▆▇▇▆▆▇▆▆▆▇▆▆▇▆▆▆▆▇▆▇▇▆▆▆▇▆▆▆▆▆▆▆▇▆▆▆▆▇▆▆▆▇▇▆▇▇▆▇▇▄| +2023-09-11 09:20:11,138 V29.A|▄▆▇▆▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▇▆▆▇▆▇▇▇▇▇▇▆▇▇▇▆▆▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 Q30.A|▄▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅| +2023-09-11 09:20:11,138 V30.A|▄▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▆▇▇▇▆▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▅| +2023-09-11 09:20:11,138 Q31.A|▄▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▅| +2023-09-11 09:20:11,138 V31.A|▄▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▆▇▅| +2023-09-11 09:20:11,139 +=== WEIGHTS B === +2023-09-11 09:20:11,620 ~~~~~~~~~~~ -0.0003|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|0.0003 +2023-09-11 09:20:11,620 Q0.B|▇▄▃▂▁▁▁▁ ▁▁▁▁▂▂▄▇| +2023-09-11 09:20:11,620 V0.B|▇▄▃▂▁▁ ▁▁▂▂▄▇| +2023-09-11 09:20:11,620 Q1.B|▇▅▃▂▁▁▁▁ ▁▁▁▁▂▃▄▇| +2023-09-11 09:20:11,620 V1.B|▇▃▂▁▁ ▁▁▂▃▇| +2023-09-11 09:20:11,620 Q2.B|▇▄▃▂▁▁▁ ▁▁▁▂▃▄▇| +2023-09-11 09:20:11,620 V2.B|▇▃▂▁▁ ▁▁▂▃▇| +2023-09-11 09:20:11,620 Q3.B|▇▄▂▂▁▁▁ ▁▁▁▂▂▄▇| +2023-09-11 09:20:11,620 V3.B|▇▃▂▁ ▁▂▃▇| +2023-09-11 09:20:11,620 Q4.B|▇▄▂▂▁▁ ▁▁▂▂▄▇| +2023-09-11 09:20:11,620 V4.B|▇▃▂▁ ▁▂▃▇| +2023-09-11 09:20:11,620 Q5.B|▇▃▂▂▁▁ ▁▁▂▂▃▇| +2023-09-11 09:20:11,620 V5.B|▇▃▂▁ ▁▂▃▇| +2023-09-11 09:20:11,620 Q6.B|▇▃▂▁▁ ▁▁▂▃▇| +2023-09-11 09:20:11,620 V6.B|▇▃▂▁ ▁▁▂▃▇| +2023-09-11 09:20:11,620 Q7.B|▇▃▂▁▁▁ ▁▁▁▂▃▇| +2023-09-11 09:20:11,620 V7.B|▇▃▁▁ ▁▁▂▇| +2023-09-11 09:20:11,620 Q8.B|▇▃▂▁▁ ▁▁▂▃▇| +2023-09-11 09:20:11,620 V8.B|▇▃▁▁ ▁▁▃▇| +2023-09-11 09:20:11,620 Q9.B|▇▃▂▁▁ ▁▁▂▃▇| +2023-09-11 09:20:11,620 V9.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:20:11,620 Q10.B|▇▃▂▁▁ ▁▁▂▃▇| +2023-09-11 09:20:11,620 V10.B|▇▃▂▁ ▁▂▃▇| +2023-09-11 09:20:11,620 Q11.B|▇▃▂▁▁ ▁▁▂▃▇| +2023-09-11 09:20:11,620 V11.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:20:11,620 Q12.B|▇▃▂▁▁ ▁▁▂▃▇| +2023-09-11 09:20:11,620 V12.B|▇▂▁▁ ▁▁▃▇| +2023-09-11 09:20:11,620 Q13.B|▇▃▂▁▁ ▁▂▃▇| +2023-09-11 09:20:11,620 V13.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:20:11,620 Q14.B|▇▃▂▁▁ ▁▁▂▃▇| +2023-09-11 09:20:11,620 V14.B|▇▃▁▁ ▁▁▃▇| +2023-09-11 09:20:11,620 Q15.B|▇▃▁▁ ▁▁▃▇| +2023-09-11 09:20:11,620 V15.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:20:11,620 Q16.B|▇▃▁▁ ▁▁▁▃▇| +2023-09-11 09:20:11,620 V16.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:20:11,620 Q17.B|▇▃▂▁ ▁▂▃▇| +2023-09-11 09:20:11,620 V17.B|▇▂▁ ▁▂▇| +2023-09-11 09:20:11,620 Q18.B|▇▃▁▁ ▁▁▂▇| +2023-09-11 09:20:11,620 V18.B|▇▂▁ ▁▂▇| +2023-09-11 09:20:11,620 Q19.B|▇▃▁▁ ▁▁▃▇| +2023-09-11 09:20:11,620 V19.B|▇▂▁ ▁▂▇| +2023-09-11 09:20:11,620 Q20.B|▇▃▂▁▁ ▁▁▂▃▇| +2023-09-11 09:20:11,620 V20.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:20:11,620 Q21.B|▇▃▂▁▁ ▁▁▂▃▇| +2023-09-11 09:20:11,620 V21.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:20:11,620 Q22.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:20:11,620 V22.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:20:11,620 Q23.B|▇▃▁▁▁ ▁▁▃▇| +2023-09-11 09:20:11,620 V23.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:20:11,620 Q24.B|▇▃▂▁▁ ▁▁▂▃▇| +2023-09-11 09:20:11,620 V24.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:20:11,621 Q25.B|▇▃▁▁ ▁▁▃▇| +2023-09-11 09:20:11,621 V25.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:20:11,621 Q26.B|▇▃▁▁ ▁▁▃▇| +2023-09-11 09:20:11,621 V26.B|▇▃▁▁ ▁▁▃▇| +2023-09-11 09:20:11,621 Q27.B|▇▃▁▁ ▁▁▂▇| +2023-09-11 09:20:11,621 V27.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:20:11,621 Q28.B|▇▃▂▁▁ ▁▁▂▃▇| +2023-09-11 09:20:11,621 V28.B|▇▃▁▁ ▁▁▃▇| +2023-09-11 09:20:11,621 Q29.B|▇▃▁▁ ▁▁▃▇| +2023-09-11 09:20:11,621 V29.B|▇▂▁▁ ▁▁▂▇| +2023-09-11 09:20:11,621 Q30.B|▇▃▂▁▁ ▁▁▂▃▇| +2023-09-11 09:20:11,621 V30.B|▇▃▂▁▁ ▁▂▃▇| +2023-09-11 09:20:11,621 Q31.B|▇▃▂▁▁ ▁▁▂▃▇| +2023-09-11 09:20:11,621 V31.B|▇▃▁▁ ▁▁▃▇| +``` \ No newline at end of file diff --git a/mac/slowllama/slowllama/e2e7b.sh b/mac/slowllama/slowllama/e2e7b.sh new file mode 100755 index 0000000..14bcd5a --- /dev/null +++ b/mac/slowllama/slowllama/e2e7b.sh @@ -0,0 +1,6 @@ +# end-to-end test with llama7b. +# TODO: improve to clean up last iter and make it take some params +python prepare_model.py +python test_gen.py +python finetune.py +python test_gen.py ./out/state_dict_19.pth diff --git a/mac/slowllama/slowllama/finetune.py b/mac/slowllama/slowllama/finetune.py new file mode 100644 index 0000000..4da2ace --- /dev/null +++ b/mac/slowllama/slowllama/finetune.py @@ -0,0 +1,58 @@ +import os +import torch +import logging + +from llama2_loader import load_frozen +from plot_lora import log_lora +from utils import Tokenizer, greedy_gen + +from conf_fp16 import * + +if __name__ == '__main__': + logging.basicConfig(format='%(asctime)s %(message)s', level=log_level, filename='logs/finetune.log') + torch.random.manual_seed(seed) + + if not os.path.exists(snapshots_path): + os.makedirs(snapshots_path) + + # data to finetune on + with open(finetune_file) as f: + text = f.read() + + tokenizer = Tokenizer(os.path.join(frozen_model_path, 'tokenizer.model')) + tokens = tokenizer.encode(text, True, True) + + logging.info(f'loaded dataset: {len(tokens)} tokens') + + model = load_frozen(frozen_model_path, compute_dtype=compute_dtype, lora_rank=lora_rank, frozen_dtype=frozen_dtype).to(device).to(compute_dtype) + + def get_batch(batch_size): + index = torch.randint(len(tokens) - seq_len, (batch_size,)) + x = torch.stack([torch.tensor(tokens[i:i + seq_len]).to(torch.int64) for i in index]) + y = torch.stack([torch.tensor(tokens[i + 1:i + seq_len + 1]).to(torch.int64) for i in index]) + return x.to(device), y.to(device) + + opt = torch.optim.AdamW(model.parameters(), lr=lr, eps=adamw_eps) + + last_loss = None + for i in range(iters): + if i % eval_period == 0 and (i > 0 or eval_before_training): + greedy_gen(model, tokenizer, device, prompt, gen_tokens) + logging.info(f'starting iteration {i}') + X, y = get_batch(batch_size) + opt.zero_grad() + # both forward and backward passes are here. + # returned loss is a scalar, not variable + loss = model.manual_loop(X, y) + opt.step() + + # optional logging of lora weights/gradients + log_lora(model.lora_layers, log_weights=log_lora_weight, log_grad=log_lora_grad) + + logging.info(f'backprop done, loss after forward pass = {loss}') + if last_loss is None: + last_loss = loss + elif loss < last_loss: + last_loss = loss + logging.info(f'saving snapshot') + torch.save(model.state_dict(), os.path.join(snapshots_path, f'state_dict_{i}.pth')) diff --git a/mac/slowllama/slowllama/finetune_dolly.py b/mac/slowllama/slowllama/finetune_dolly.py new file mode 100644 index 0000000..47c858d --- /dev/null +++ b/mac/slowllama/slowllama/finetune_dolly.py @@ -0,0 +1,93 @@ +import os +import sys +import torch +import logging + +from llama2_loader import load_frozen +from plot_lora import log_lora +from datasets import load_dataset +from utils import Tokenizer, greedy_gen + +# training settings +seed = 54321 +iters = 1000 +device = 'mps' # mps for macbooks +seq_len = 1024 +batch_size = 4 +lr = 1e-4 + +# type used for computation. Might be different from storage type (which is bfloat16) +compute_dtype = torch.float32 # float32 for macbooks +#compute_dtype = torch.bfloat16 # bfloat16 for CUDA + +eval_before_training = False +eval_period = 20 +gen_tokens = 32 + +log_lora_grad = False +log_lora_weight = True + +model_path = '../llama7b' +snapshots_path = 'out' +finetune_dataset = 'databricks/databricks-dolly-15k' +prompt = 'slowllama is a ' + +if not os.path.exists(snapshots_path): + os.makedirs(snapshots_path) + +tokenizer_path = os.path.join(model_path, 'tokenizer.model') +tokenizer = Tokenizer(tokenizer_path) + +def format_sample(sample): + instruction = f"### Instruction\n{sample['instruction']}\n\n" + context = f"### Context\n{sample['context']}\n\n" if len(sample["context"]) > 0 else "" + response = f"### Answer\n{sample['response']}" + return instruction + context + response + +def prepare_data(): + train_data = load_dataset(finetune_dataset, split="train") + formatted = [format_sample(s) for s in train_data] + return '\n\n'.join(formatted[:100]) + +if __name__ == '__main__': + text = prepare_data() + logging.basicConfig(format='%(asctime)s %(message)s', level=logging.INFO, filename='logs/finetune.log') + torch.random.manual_seed(seed) + + tokens = tokenizer.encode(text, True, True) + + logging.info(f'loaded dataset: {len(tokens)} tokens') + + model = load_frozen(model_path, compute_dtype=compute_dtype).to(device).to(compute_dtype) + + def get_batch(batch_size): + index = torch.randint(len(tokens) - seq_len, (batch_size,)) + x = torch.stack([torch.tensor(tokens[i:i + seq_len]).to(torch.int64) for i in index]) + y = torch.stack([torch.tensor(tokens[i + 1:i + seq_len + 1]).to(torch.int64) for i in index]) + return x.to(device), y.to(device) + + opt = torch.optim.AdamW(model.parameters(), lr=lr) + + last_loss = None + for i in range(iters): + if i % eval_period == 0 and (i > 0 or eval_before_training): + greedy_gen(model, tokenizer, device, prompt, gen_tokens) + logging.info(f'starting iteration {i}') + X, y = get_batch(batch_size) + opt.zero_grad() + # both forward and backward passes are here. + # returned loss is a scalar, not variable + logits, loss = model.manual_loop(X, y) + opt.step() + + # optional logging of lora weights/gradients + if log_lora_grad or log_lora_weight: + log_lora(model.lora_layers, log_weights=log_lora_weight, log_grad=log_lora_grad) + + logging.info(f'backprop done, loss after forward pass = {loss}') + if last_loss is None: + last_loss = loss + elif loss < last_loss: + last_loss = loss + logging.info(f'saving snapshot') + torch.save(model.state_dict(), os.path.join(snapshots_path, f'state_dict_{i}.pth')) diff --git a/mac/slowllama/slowllama/llama2.py b/mac/slowllama/slowllama/llama2.py new file mode 100644 index 0000000..3d13f00 --- /dev/null +++ b/mac/slowllama/slowllama/llama2.py @@ -0,0 +1,380 @@ +# based on model.py from https://github.com/karpathy/llama2.c by Andrej Karpathy, MIT licenced + +# modifications by okuvshynov include: +# - no weight tying +# - using blackbox offloadable modules +# - simplify init/generation as we only use it for fine-tuning experiments +# - manual backprop +# - support for ffn_dim_multiplier which llama2-70b uses +# - LoRA + +import logging +import math + +from typing import Optional, Tuple + +import torch +import torch.nn.functional as F +from torch import nn + +from blackbox import BlackboxDisk +from utils import save_rng_state, restore_rng_state, device_map, cleanup_cache +from model_config import ModelArgs + +import logging + + +class RMSNorm(torch.nn.Module): + def __init__(self, dim: int, eps: float): + super().__init__() + self.eps = eps + self.weight = nn.Parameter(torch.ones(dim)) + + def _norm(self, x): + return x * torch.rsqrt(x.pow(2).mean(-1, keepdim=True) + self.eps) + + def forward(self, x): + output = self._norm(x.float()).type_as(x) + return output * self.weight + + +def precompute_freqs_cis(dim: int, end: int, theta: float = 10000.0): + freqs = 1.0 / (theta ** (torch.arange(0, dim, 2)[: (dim // 2)].float() / dim)) + t = torch.arange(end, device=freqs.device) # type: ignore + freqs = torch.outer(t, freqs).float() # type: ignore + freqs_cos = torch.cos(freqs) # real part + freqs_sin = torch.sin(freqs) # imaginary part + return freqs_cos, freqs_sin + +def reshape_for_broadcast(freqs_cis: torch.Tensor, x: torch.Tensor): + ndim = x.ndim + assert 0 <= 1 < ndim + assert freqs_cis.shape == (x.shape[1], x.shape[-1]) + shape = [d if i == 1 or i == ndim - 1 else 1 for i, d in enumerate(x.shape)] + return freqs_cis.view(shape) + +def apply_rotary_emb( + xq: torch.Tensor, + xk: torch.Tensor, + freqs_cos: torch.Tensor, + freqs_sin: torch.Tensor +) -> Tuple[torch.Tensor, torch.Tensor]: + + # reshape xq and xk to match the complex representation + xq_r, xq_i = xq.float().reshape(xq.shape[:-1] + (-1, 2)).unbind(-1) + xk_r, xk_i = xk.float().reshape(xk.shape[:-1] + (-1, 2)).unbind(-1) + + # reshape freqs_cos and freqs_sin for broadcasting + freqs_cos = reshape_for_broadcast(freqs_cos, xq_r) + freqs_sin = reshape_for_broadcast(freqs_sin, xq_r) + + # apply rotation using real numbers + xq_out_r = xq_r * freqs_cos - xq_i * freqs_sin + xq_out_i = xq_r * freqs_sin + xq_i * freqs_cos + xk_out_r = xk_r * freqs_cos - xk_i * freqs_sin + xk_out_i = xk_r * freqs_sin + xk_i * freqs_cos + + # flatten last two dimensions + xq_out = torch.stack([xq_out_r, xq_out_i], dim=-1).flatten(3) + xk_out = torch.stack([xk_out_r, xk_out_i], dim=-1).flatten(3) + + return xq_out.type_as(xq), xk_out.type_as(xk) + +def repeat_kv(x: torch.Tensor, n_rep: int) -> torch.Tensor: + """torch.repeat_interleave(x, dim=2, repeats=n_rep)""" + bs, slen, n_kv_heads, head_dim = x.shape + if n_rep == 1: + return x + return ( + x[:, :, :, None, :] + .expand(bs, slen, n_kv_heads, n_rep, head_dim) + .reshape(bs, slen, n_kv_heads * n_rep, head_dim) + ) + +class Attention(nn.Module): + def __init__(self, args: ModelArgs): + super().__init__() + self.n_kv_heads = args.n_heads if args.n_kv_heads is None else args.n_kv_heads + self.n_heads = args.n_heads + self.n_rep = self.n_heads // self.n_kv_heads + self.head_dim = args.dim // args.n_heads + + # here's where we inject LoRA + self.wq = nn.Linear(args.dim, args.n_heads * self.head_dim, bias=False) + self.wk = nn.Linear(args.dim, self.n_kv_heads * self.head_dim, bias=False) + + # here's where we inject LoRA + self.wv = nn.Linear(args.dim, self.n_kv_heads * self.head_dim, bias=False) + + self.wo = nn.Linear(args.n_heads * self.head_dim, args.dim, bias=False) + + # TODO: probably don't need dropout here as we don't plan to do full finetune + # or maybe we do. + self.attn_dropout = nn.Dropout(args.dropout) + self.resid_dropout = nn.Dropout(args.dropout) + self.dropout = args.dropout + + # use flash attention or a manual implementation? + self.flash = hasattr(torch.nn.functional, 'scaled_dot_product_attention') + if not self.flash: + logging.warn("using slow attention. Flash Attention requires PyTorch >= 2.0") + mask = torch.full((1, 1, args.max_seq_len, args.max_seq_len), float("-inf")) + mask = torch.triu(mask, diagonal=1) + self.register_buffer("mask", mask) + + self.attention_norm = RMSNorm(args.dim, eps=args.norm_eps) + + def forward( + self, + x: torch.Tensor, + freqs_cos: torch.Tensor, + freqs_sin: torch.Tensor, + q_lora: nn.Module, + v_lora: nn.Module + ): + bsz, seqlen, _ = x.shape + + x_base = x + x = self.attention_norm(x) + + # QKV + xq, xk, xv = self.wq(x) + q_lora(x), self.wk(x), self.wv(x) + v_lora(x) + xq = xq.view(bsz, seqlen, self.n_heads, self.head_dim) + xk = xk.view(bsz, seqlen, self.n_kv_heads, self.head_dim) + xv = xv.view(bsz, seqlen, self.n_kv_heads, self.head_dim) + + # RoPE relative positional embeddings + xq, xk = apply_rotary_emb(xq, xk, freqs_cos, freqs_sin) + + # grouped multiquery attention: expand out keys and values + xk = repeat_kv(xk, self.n_rep) # (bs, seqlen, n_heads, head_dim) + xv = repeat_kv(xv, self.n_rep) # (bs, seqlen, n_heads, head_dim) + + # make heads into a batch dimension + xq = xq.transpose(1, 2) # (bs, n_heads, seqlen, head_dim) + xk = xk.transpose(1, 2) + xv = xv.transpose(1, 2) + + # flash implementation + if self.flash: + output = torch.nn.functional.scaled_dot_product_attention(xq, xk, xv, attn_mask=None, dropout_p=self.dropout if self.training else 0.0, is_causal=True) + else: + # manual implementation + scores = torch.matmul(xq, xk.transpose(2, 3)) / math.sqrt(self.head_dim) + assert hasattr(self, 'mask') + scores = scores + self.mask[:, :, :seqlen, :seqlen] # (bs, n_heads, seqlen, cache_len + seqlen) + scores = F.softmax(scores.float(), dim=-1).type_as(xq) + scores = self.attn_dropout(scores) + output = torch.matmul(scores, xv) # (bs, n_heads, seqlen, head_dim) + + # restore time as batch dimension and concat heads + output = output.transpose(1, 2).contiguous().view(bsz, seqlen, -1) + + # final projection into the residual stream + output = self.wo(output) + output = self.resid_dropout(output) + return x_base + output + + +class FeedForward(nn.Module): + def __init__(self, dim: int, hidden_dim: int, multiple_of: int, dropout: float, ffn_dim_multiplier: Optional[float], args: ModelArgs): + super().__init__() + hidden_dim = int(2 * hidden_dim / 3) + if ffn_dim_multiplier is not None: + hidden_dim = int(ffn_dim_multiplier * hidden_dim) + hidden_dim = multiple_of * ((hidden_dim + multiple_of - 1) // multiple_of) + self.w1 = nn.Linear(dim, hidden_dim, bias=False) + self.w2 = nn.Linear(hidden_dim, dim, bias=False) + self.w3 = nn.Linear(dim, hidden_dim, bias=False) + self.dropout = nn.Dropout(dropout) + self.ffn_norm = RMSNorm(args.dim, eps=args.norm_eps) + + def forward(self, x): + x_base = x + x = self.ffn_norm(x) + return x_base + self.dropout(self.w2(F.silu(self.w1(x)) * self.w3(x))) + +class TransformerBlock(nn.Module): + def __init__(self, layer_id: int, args: ModelArgs): + super().__init__() + self.n_heads = args.n_heads + self.dim = args.dim + self.head_dim = args.dim // args.n_heads + + self.attention = BlackboxDisk(Attention(args), args) + self.feed_forward = BlackboxDisk(FeedForward( + dim=args.dim, + hidden_dim=4 * args.dim, + multiple_of=args.multiple_of, + dropout=args.dropout, + ffn_dim_multiplier=args.ffn_dim_multiplier, + args=args + ), args) + self.layer_id = layer_id + + + def forward(self, x, freqs_cos, freqs_sin, lora_q, lora_v): + h = self.attention(x, freqs_cos, freqs_sin, lora_q, lora_v) + out = self.feed_forward(h) + return out + +class LoRA(nn.Module): + def __init__(self, original_layer, rank, alpha, dropout): + super().__init__() + n, m = original_layer.weight.shape + self.A = nn.Linear(m, rank, bias=False) + self.B = nn.Linear(rank, n, bias=False) + nn.init.zeros_(self.B.weight) + self.dropout = nn.Dropout(dropout) + self.scale = alpha / rank + + # return matrix to add to original weight + def expanded(self): + res = self.B.weight.mm(self.A.weight) * self.scale + return res + + def forward(self, x): + return self.dropout(self.B(self.A(x))) * self.scale + +class Transformer(nn.Module): + def __init__(self, params: ModelArgs): + super().__init__() + self.params = params + self.vocab_size = params.vocab_size + self.n_layers = params.n_layers + + self.tok_embeddings = BlackboxDisk(nn.Embedding(params.vocab_size, params.dim), params) + self.dropout = nn.Dropout(params.dropout) + self.layers = torch.nn.ModuleList() + + # we create LoRA adapters separately. As we don't want to load/save them continously + self.lora_layers = [] + for layer_id in range(params.n_layers): + block = TransformerBlock(layer_id, params) + + # TODO: remove this one + attn = block.attention.loaded_inner() + q_lora = LoRA(attn.wq, rank=params.lora_rank, alpha=params.lora_alpha, dropout=params.lora_dropout).to(params.compute_dtype) + v_lora = LoRA(attn.wv, rank=params.lora_rank, alpha=params.lora_alpha, dropout=params.lora_dropout).to(params.compute_dtype) + self.lora_layers.append({ 'q_lora': q_lora, 'v_lora': v_lora}) + self.add_module(f'q_lora_{layer_id}', q_lora) + self.add_module(f'v_lora_{layer_id}', v_lora) + self.layers.append(block) + logging.debug(f'created transformer block {layer_id}') + + self.norm = RMSNorm(params.dim, eps=params.norm_eps) + self.norm.requires_grad = False + self.output = BlackboxDisk(nn.Linear(params.dim, params.vocab_size, bias=False), params) + + # some useful precompute for the RoPE relative positional embeddings + freqs_cos, freqs_sin = precompute_freqs_cis(self.params.dim // self.params.n_heads, self.params.max_seq_len, theta=params.rope_theta) + self.register_buffer("freqs_cos", freqs_cos, persistent=False) + self.register_buffer("freqs_sin", freqs_sin, persistent=False) + + def forward(self, tokens: torch.Tensor) -> torch.Tensor: + _bsz, seqlen = tokens.shape + + # dummy input to force gradient propagation to blackbox modules + h = self.tok_embeddings(tokens) + h = self.dropout(h) + freqs_cos = self.freqs_cos[:seqlen] + freqs_sin = self.freqs_sin[:seqlen] + + for layer, lora in zip(self.layers, self.lora_layers): + h = layer(h, freqs_cos, freqs_sin, lora['q_lora'], lora['v_lora']) + h = self.norm(h) + + return self.output(h[:, [-1], :]) + + def backprop_w_lora(self, blackbox_module, output_grad, *args): + device = output_grad.device + module = blackbox_module.load(device) + + # we use LoRA and only updated attached low-rank modules + # no part of original model is getting any updates, so no need for gradient + for param in module.parameters(): + param.requires_grad = False + + input = blackbox_module.load_input(device) + input.requires_grad = True + + output = module(input, *args) + output.backward(output_grad) + + return input.grad if input.requires_grad else None + + # this is a manual implementation on forward/backward passes + def manual_loop(self, tokens, targets): + logging.log(level=logging.DEBUG, msg=f'starting manual loop') + device = device_map(tokens.device) + + embd_out = self.tok_embeddings(tokens) + embd_out = embd_out.detach() + embd_out.requires_grad = True + logging.log(level=logging.DEBUG, msg=f'done embedding') + + _, seqlen = tokens.shape + + freqs_cos = self.freqs_cos[:seqlen] + freqs_sin = self.freqs_sin[:seqlen] + + current = self.dropout(embd_out) + del embd_out + + rng_before = [] + + for i, (layer, lora) in enumerate(zip(self.layers, self.lora_layers)): + rng_before.append(save_rng_state(device)) + current = layer(current, freqs_cos, freqs_sin, lora['q_lora'], lora['v_lora']) + logging.log(level=logging.DEBUG, msg=f'forward: transformer block {i} done') + + current = current.detach() + current.requires_grad = True + + norm_out = self.norm(current) + norm_out = norm_out.detach() + norm_out.requires_grad = True + + # TODO: micro-optimization: as output is last layer, we can skip loading and running it second time + logging.log(level=logging.DEBUG, msg=f'output layer') + logits = self.output(norm_out) + del norm_out + + logging.log(level=logging.DEBUG, msg=f'output layer done') + + if (self.params.compute_dtype != torch.float32): + logits = logits.to(torch.float32) + + logits = logits.detach() + logits.requires_grad = True + + loss = F.cross_entropy(logits.view(-1, logits.size(-1)), targets.view(-1), ignore_index=-1) + logging.log(level=logging.DEBUG, msg=f'forward: computed loss') + + loss.backward() + + norm_out_grad = self.backprop_w_lora(self.output, logits.grad.to(self.params.compute_dtype)) + del logits + logging.log(level=logging.DEBUG, msg=f'combined: output layer done') + + norm_out2 = self.norm(current) + norm_out2.backward(norm_out_grad) + del norm_out_grad + del norm_out2 + + last_grad = current.grad + del current + + for i, (layer, rng_state, lora) in enumerate(zip(reversed(self.layers), reversed(rng_before), reversed(self.lora_layers))): + cleanup_cache(device) + restore_rng_state(rng_state, device=device) + # first, do feed_forward + last_grad = self.backprop_w_lora(layer.feed_forward, last_grad) + + # now, do attention + cleanup_cache(device) + last_grad = self.backprop_w_lora(layer.attention, last_grad, freqs_cos, freqs_sin, lora['q_lora'], lora['v_lora']) + logging.log(level=logging.DEBUG, msg=f'combined: transformer block {i} done') + + # no need to backpropagate through embeddings no LoRA layers there. + return loss.item() diff --git a/mac/slowllama/slowllama/llama2_loader.py b/mac/slowllama/slowllama/llama2_loader.py new file mode 100644 index 0000000..cea452b --- /dev/null +++ b/mac/slowllama/slowllama/llama2_loader.py @@ -0,0 +1,202 @@ +import torch +import os +import json +import gc +import glob +import logging +import shutil + +from model_config import ModelArgs +from llama2 import Transformer +from utils import device_supports_dtype + +# how are weights sharded in llama2 - by rows or columns +join_dim = { + 'wq': 0, + 'wk': 0, + 'wv': 0, + 'wo': 1, + 'w1': 0, + 'w2': 1, + 'w3': 0, + 'output': 0, + 'tok_embeddings': 1, +} + +def get_subset(title, weight_subset, index): + if title in join_dim.keys(): + jdim = join_dim[title] + step = weight_subset.shape[jdim] + subset = (slice(step * index, step * (index + 1)), slice(None)) + if jdim == 1: + subset = (subset[1], subset[0]) + return subset + else: + return tuple(slice(None) for _ in range(len(weight_subset.shape))) + +def get_w_subset(title, weight, shards, shard): + if title in join_dim.keys(): + jdim = join_dim[title] + step = weight.shape[jdim] // shards + subset = (slice(step * shard, step * (shard + 1)), slice(None)) + if jdim == 1: + subset = (subset[1], subset[0]) + return subset + else: + return tuple(slice(None) for _ in range(len(weight.shape))) + +def apply_subset(module, weight_subset, checkpoint_index, title): + with torch.no_grad(): + idx_subset = get_subset(title, weight_subset, checkpoint_index) + module.weight[idx_subset] = weight_subset + +def prepare_model(llama2_path, frozen_path, **kwargs): + params_path = os.path.join(llama2_path, 'params.json') + with open(params_path, 'r') as conf_file: + config = json.loads(conf_file.read()) + + for k, v in kwargs.items(): + config[k] = v + + args = ModelArgs(**config) + args.vocab_size = args.vocab_size_override + args.served_model_path = frozen_path + + logging.info('creating model instance') + model = Transformer(args) + paths = sorted(glob.glob(f'{llama2_path}/consolidated.*.pth')) + + shards = len(paths) + + for ci, checkpoint_path in enumerate(paths): + logging.info(f'prepare_model: processing checkpoint {ci} out of {shards}') + + checkpoint = torch.load(checkpoint_path, map_location='cpu') + + for i, layer in enumerate(model.layers): + prefix = f'layers.{i}.' + #block = layer.loaded_inner() + for title, submodule in layer.named_modules(): + if hasattr(submodule, 'weight'): + full_path = f'{prefix}{title}.weight' + weight_subset = checkpoint[full_path] + apply_subset(submodule, weight_subset, ci, title) + del checkpoint[full_path] + gc.collect() + + prefix = f'layers.{i}.attention.' + attention = layer.attention.loaded_inner() + for title, submodule in attention.named_modules(): + if hasattr(submodule, 'weight'): + if 'attention_norm' in title: + full_path = f'layers.{i}.attention_norm.weight' + else: + full_path = f'{prefix}{title}.weight' + weight_subset = checkpoint[full_path] + apply_subset(submodule, weight_subset, ci, title) + del checkpoint[full_path] + gc.collect() + layer.attention.save(attention) + + prefix = f'layers.{i}.feed_forward.' + feed_forward = layer.feed_forward.loaded_inner() + for title, submodule in feed_forward.named_modules(): + if hasattr(submodule, 'weight'): + if 'ffn_norm' in title: + full_path = f'layers.{i}.ffn_norm.weight' + else: + full_path = f'{prefix}{title}.weight' + weight_subset = checkpoint[full_path] + apply_subset(submodule, weight_subset, ci, title) + del checkpoint[full_path] + gc.collect() + layer.feed_forward.save(feed_forward) + logging.info(f'prepare_model: updating layer {i} out of {len(model.layers)}') + #layer.save(block) + + # now repeat for other submodules: output, embeddings and norm + title = 'output' + block = model.output.loaded_inner() + apply_subset(block, checkpoint[f'{title}.weight'], ci, title) + logging.info(f'prepare_model: updating output layer') + model.output.save(block) + + title = 'tok_embeddings' + block = model.tok_embeddings.loaded_inner() + apply_subset(block, checkpoint[f'{title}.weight'], ci, title) + logging.info(f'prepare_model: updating token embeddings') + model.tok_embeddings.save(block) + + # norm left + apply_subset(model.norm, checkpoint['norm.weight'], ci, None) + + # we also need to copy: + # - params.json + # - model dict itself (norm + Lora) + # - tokenizer?' + shutil.copy(params_path, os.path.join(frozen_path, 'params.json')) + shutil.copy(os.path.join(llama2_path, 'tokenizer.model'), os.path.join(frozen_path, 'tokenizer.model')) + torch.save(model.to(args.frozen_dtype).state_dict(), os.path.join(frozen_path, 'model.pth')) + + return model + +def load_frozen(path, **kwargs): + logging.info(f'loading sequential model from {path}') + params_path = os.path.join(path, 'params.json') + with open(params_path, 'r') as conf_file: + config = json.loads(conf_file.read()) + + for k, v in kwargs.items(): + config[k] = v + + args = ModelArgs(**config) + args.vocab_size = args.vocab_size_override + args.init_frozen = False + args.served_model_path = path + logging.info(f'creating model instance') + model = Transformer(args).to(args.compute_dtype) + logging.info(f'loading model dict') + model.load_state_dict(torch.load(os.path.join(path, 'model.pth')), strict=False) + return model + +# this is merging LoRA back to original weights in llama2 format +def add_lora(model_path, lora_path): + lora_weights = torch.load(lora_path, map_location='cpu') + paths = sorted(glob.glob(f'{model_path}/consolidated.*.pth')) + params_path = os.path.join(model_path, 'params.json') + with open(params_path, 'r') as conf_file: + config = json.loads(conf_file.read()) + + shards = len(paths) + + config = ModelArgs(**config) + + n_layers = int(config.n_layers) + + lora_scale = config.lora_alpha / config.lora_rank + + for ci, checkpoint_path in enumerate(paths): + logging.info(f'add_lora: processing checkpoint {ci} out of {shards}') + checkpoint = torch.load(checkpoint_path, map_location='cpu') + + for layer in range(n_layers): + logging.info(f'add_lora: processing checkpoint {ci} layer {layer} out of {n_layers}') + for attn_key in ['v', 'q']: + local_path = f'w{attn_key}' + checkpoint_key = f'layers.{layer}.attention.{local_path}.weight' + a_key = f'{attn_key}_lora_{layer}.A.weight' + b_key = f'{attn_key}_lora_{layer}.B.weight' + + original_type = lora_weights[b_key].dtype + + if device_supports_dtype('cpu', original_type): + lora = lora_weights[b_key].mm(lora_weights[a_key]) * lora_scale + else: + lora = lora_weights[b_key].to(torch.float32).mm(lora_weights[a_key].to(torch.float32)) * lora_scale + lora = lora.to(original_type) + + subset = get_w_subset(local_path, lora, shards, ci) + checkpoint[checkpoint_key] = checkpoint[checkpoint_key] + lora[subset].to(torch.bfloat16) + torch.save(checkpoint, checkpoint_path) + del checkpoint + gc.collect() diff --git a/mac/slowllama/slowllama/logs/.gitignore b/mac/slowllama/slowllama/logs/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/mac/slowllama/slowllama/logs/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/mac/slowllama/slowllama/merge_lora.py b/mac/slowllama/slowllama/merge_lora.py new file mode 100644 index 0000000..b534014 --- /dev/null +++ b/mac/slowllama/slowllama/merge_lora.py @@ -0,0 +1,17 @@ +import logging +import os +import sys +import shutil + +from llama2_loader import add_lora + +logging.basicConfig(format='%(asctime)s %(message)s', level=logging.INFO, filename='logs/merge_lora.log') + +model_path = sys.argv[1] +lora_path = sys.argv[2] +out_model_path = sys.argv[3] + +if os.path.exists(out_model_path): + shutil.rmtree(out_model_path) +shutil.copytree(model_path, out_model_path) +add_lora(out_model_path, lora_path) diff --git a/mac/slowllama/slowllama/model_config.py b/mac/slowllama/slowllama/model_config.py new file mode 100644 index 0000000..c98dad4 --- /dev/null +++ b/mac/slowllama/slowllama/model_config.py @@ -0,0 +1,27 @@ +import torch + +from dataclasses import dataclass +from typing import Optional + +@dataclass +class ModelArgs: + dim: int = 4096 + n_layers: int = 32 + n_heads: int = 32 + n_kv_heads: Optional[int] = None + multiple_of: int = 256 # make SwiGLU hidden layer size multiple of large power of 2 + norm_eps: float = 1e-5 + max_seq_len: int = 2048 + dropout: float = 0.0 # unless we bring back + ffn_dim_multiplier: Optional[float] = None + compute_dtype: torch.dtype = torch.float32 + rope_theta: float = 10000.0 + lora_rank: int = 8 + lora_alpha: int = 64 + lora_dropout: float = 0.05 + served_model_path: str = '' # relative path by default + cached_data_path: str = '' # relative path by default + init_frozen: bool = True + frozen_dtype: torch.dtype = torch.bfloat16 + vocab_size: int = 32000 + vocab_size_override: int = 32000 \ No newline at end of file diff --git a/mac/slowllama/slowllama/plot_lora.py b/mac/slowllama/slowllama/plot_lora.py new file mode 100644 index 0000000..3a107ba --- /dev/null +++ b/mac/slowllama/slowllama/plot_lora.py @@ -0,0 +1,48 @@ +import logging +import torch + +def log_lora(lora_layers, log_weights=True, log_grad=True, log_level=logging.INFO): + if not log_weights and not log_grad: + return + try: + from fewlines import bar + except ImportError: + logging.error('Unable to import fewlines. "pip install fewlines" to use distribution logging') + return + + gradients_a = {} + gradients_b = {} + weights_a = {} + weights_b = {} + + for i, lora in enumerate(lora_layers): + q = lora['q_lora'] + v = lora['v_lora'] + if log_grad: + gradients_a[f'Q{i}.A'] = q.A.weight.grad.view(-1).to(torch.float32).tolist() + gradients_b[f'Q{i}.B'] = q.B.weight.grad.view(-1).to(torch.float32).tolist() + gradients_a[f'V{i}.A'] = v.A.weight.grad.view(-1).to(torch.float32).tolist() + gradients_b[f'V{i}.B'] = v.B.weight.grad.view(-1).to(torch.float32).tolist() + if log_weights: + weights_a[f'Q{i}.A'] = q.A.weight.view(-1).to(torch.float32).tolist() + weights_b[f'Q{i}.B'] = q.B.weight.view(-1).to(torch.float32).tolist() + weights_a[f'V{i}.A'] = v.A.weight.view(-1).to(torch.float32).tolist() + weights_b[f'V{i}.B'] = v.B.weight.view(-1).to(torch.float32).tolist() + + if log_grad: + logging.log(log_level, f'\n=== GRADIENTS A ===') + for l in bar.bar_histograms(gradients_a): + logging.log(log_level, l) + + logging.log(log_level, f'\n=== GRADIENTS B ===') + for l in bar.bar_histograms(gradients_b): + logging.log(log_level, l) + + if log_weights: + logging.log(log_level, f'\n=== WEIGHTS A ===') + for l in bar.bar_histograms(weights_a): + logging.log(log_level, l) + + logging.log(log_level, f'\n=== WEIGHTS B ===') + for l in bar.bar_histograms(weights_b): + logging.log(log_level, l) \ No newline at end of file diff --git a/mac/slowllama/slowllama/prepare_model.py b/mac/slowllama/slowllama/prepare_model.py new file mode 100644 index 0000000..38979a6 --- /dev/null +++ b/mac/slowllama/slowllama/prepare_model.py @@ -0,0 +1,14 @@ +# loads model in original llama2 format and saves to another folder in sequential format + +import torch +import logging + +from llama2_loader import prepare_model +from conf_fp16 import * + +logging.basicConfig(format='%(asctime)s %(message)s', + level=logging.DEBUG, filename='logs/prepare_model.log') +torch.random.manual_seed(seed) + +prepare_model(llama2_path=llama2_model_path, frozen_path=frozen_model_path, compute_dtype=compute_dtype, + lora_rank=lora_rank, frozen_dtype=frozen_dtype) diff --git a/mac/slowllama/slowllama/static/finetune_a10_7b.png b/mac/slowllama/slowllama/static/finetune_a10_7b.png new file mode 100644 index 0000000000000000000000000000000000000000..1d707ece1ab61f5b5224c61384815b5e04b8c378 GIT binary patch literal 176530 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 z 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

wA&8$ai#_ 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 literal 0 HcmV?d00001 diff --git a/mac/slowllama/slowllama/static/finetune_combined.png b/mac/slowllama/slowllama/static/finetune_combined.png new file mode 100644 index 0000000000000000000000000000000000000000..3c8eeb2955cda1600b19457825c155534ec19382 GIT binary patch literal 327766 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

aW zpFF%S|G1+0AFq~uuY_vGnvvJL&JBE}aD;XLH~r^5QcMLiVI{H++)B>Zu{%J1{A#2H zPrsOaBW_v!MOB(8Ut)Q5bkeZK$`gL1FAC5x6i}uEE-89a*ZGm;?*fb}z0c~krKWu+ zL?QuvTP)Rk?_=Nnnagzj5Z)(~v$s&kHo-+fe8CWeigke9T8n2ftG+V?NDi%gB6!>s z;%L|*h>Ief83l;bt|QIA7d7(So|cYzU$kcJOSJI&0Zdnsg4zc>$FAI316?7ou@)7s zpSsRcC$)-n*Y(Xo3*-9_5{`nfC%0ShG6UzP$wayE1Pcn-)AaO>mV@rL(A~S$d*rPx zDfVWc;t-F9&jlt#dnMu}PaSD*0JalJ$R`#ZMRWh6quG-94!Ke+P~ulKGn#bI?X&oG z$5Dh^(ux*8Z@CXw6@Z7qqOX=GyT>wEy2=Kd9#Ot$5^I%Z>s3xr7MI)BQsvwnYLf^#L)flgl3f( ztyk_~5Rz84!ieLJn)W2lck?9N|BK!W@qT=K;0}goH8z_Syv zzi$F_PeMl|aG=LvWaFZhaDj~@hNWf^lQ#=fUu&1w$f{15%C>dwSP+@$*N$uqTq~4N zLE!yS$rD&-b&db-KLw$-4=3+v!P}nR|Kx#+?}0!vymRJ!wb`8=I7Kw=?)5sRz%QZgrRQzaP!_IE8?FdHOFhOb<3GY@7 zp>XW(KnxHk`5lvva-&6;C)_2Z95x-Od}P1UJX6_CvShwQ0&7pJ?G|HC2!Q_yLwfX2 z3_y)V-w7)Pv}N8G{5-~?4FV_>IgZ<3nY_eo;L~lmsr^Lt9sazfEC-`J(2gy-4Z%1n zAv`zhh}N^))m`Q(!28CaF$QlZ(G5RBxAw&zCzu)LiRII#dkpq;s=wF5cFWY+&v3|g z`p2|jIVIE$2~382o$Lkt*`zq#e`a;EQgYFt8E1gf1F|w6SS* zxORNmDmv&OdAUnsy`Kz2U!?!*EeV5Xz-$M=&OSNz#?u&ICG!Qt!v z1p$My$!swl;qjQ&H>vNX4G4Q-*9R(rZx_k5U8t!q0Y?5e%7!Cpc90v-e2)=6m${Ad z$WuSopOJPWcxB06q-f`gIYG>8pxC(3@lhiLKn40NkA>ch&tJ3V`hADZLQuB)y#aQ*;5i1BnCY+xUfh7Gd%g{tUc58V2?G5#xk9Vz>CN8=7nBUtG=s_O@i^n zvI?T9D;f2xJM2K5fyl+~wTbgPTEC;BH2b#=>%ObX;jb+HB}K}26+-<@GxuO)%>_>j z7P94&vNPx=IZaT2JMzrMIbhipPx=0Od|%&n^X_sie*FESg+p$)^B=%Tfqh|tN6lC1 zvkEcI#Q}D*PuKz)H?kQ>%Wz~kAa(4IR+aaj!>m0TIdSApH#lq&-0i1H;*9yFRsy!0 zU2i%w;@?KDe=QQ6Pug{K$=I`aXY|fX6Wk25&x(#MGVVx!ww*hY23z~m2Qr(%=TzqA zt3wYlF~_o+tTZ5bOsa}%ozkL7ut8^Ap7^zs^V?Y>3?ZK{gnHILtaBv`LhCgDn-o+~ z64TD_!7(b*1B1)(Sx1nymLqOxj5#rU_pSm6{uL{pAuxi-u73iabK~{AByc=3>VZp* zUAiHMM6{9S8gT2oqHZR^%B^uAlwZB;7uhzT%v1Y!Q)M40N(&Kz5H(vp19>DN+hYQK zNe{_?xz+ZQ5lc8uy%bA=Ecwj7sXNZ%=#2~x!O;;?;)KSbZ}>^@N-*PRbsH6spC_uS z9%-#cfmY}g6ifT5pGQST;6+s~i@BW=P<Q8t2Eta>sK}(pDX>PDfHBxBUb6`-8V=+$W z84nZe87}_LCIh5sKggQ!k6k zTTrn_iqyh%>JhFMhEZlFhnxW;tE$mw$V_(wJOKA+Nrxv$tArw4|+TFB~Jz)5ATKTi|I9cQVi zyZIGE@6s2wQ?bif5xMrb9Px~we}A>h&B~LT&C&R6hF-Wo8+|hUxB(*hVZzjCe7wc< zV&n(#4{)N|%=g$aWQ`6Q`a{A}^+Bpa#X5~i#bzZA`n%(RV(y{0oC zb?}{l95KmOR)_4v!0B@|kYWkrRi_4ec3^wUn*HWb3S-rR1m*B^enD#TD& z0p}rXFM?MZoVcT>YEQh(u;z~Ff}UQ*w;KXQx^ZmkiugQC{jm6`=%ho|CmZ-`3?LGc zgU2;Di`FciQqwWC!HUH+b(ud8=i8fi(XfLBmcZ;9&z%8f(1zgkK(1%&x4(@3W8*wV zwOOtm%CI4JnKT7>;Z7cT@Nn;~|CbG^WRcW7Co11CBJBo&XJmKEtNRa?cLm+h(Z!=) zYT9T%SI&Sn&%rIbsNjbyKqg7w2D|y<-50qBZ0Xh4crTP=RyA5=ev$H|{{~$h8T6Ot zKb{{N{o(M-XRSl%hs{h|UdsQ=0=Oy${*ddl5p=EgJ7AJgV?`y;thm4NX9IbNP%?R1 z$58|NTNA?>xF~%}5pKcHy@GyQTUJbWgdmT1xah19ROpDG01vkuA`GI`gpk7LqUo$T zzrd*rFM_Xb|6(CgvvuEslGJ1H??!JkWx_A7tQgZKp0Os)IK;8u{NOOyF zr87yXRNzVfl#qD%e#qqf+n;Kd4i4cDg*&unh-mKxW9e=WaBChTi0}5Yb{`> zi@00?R2kOOf=IAl1e>zB--RVRj<_C%aD__G5ue>iiXk}QH&A8!eq9YD1AU?d53H29 z^=z%?OX$d(eDM5!Xd43DUwqzj9{(5qyNMy9*s++x_?%q|>RUkh`3AX;OZCnwQJy?8 z=rVQ8KRga7SEqCBSVxoA44bhLa4(zH?Yz}@9|(kOvfGy#;d5BN`%hqL?Ol1=hXe@2aNa-$ zibp#j)ZGqNhf@kDNS~Nsf5z-0zLrO}YBX@WY)5&VQE7JI=FsiqS4-)38@afG-p)_- zl!05|iV~((AeCmE(9!)m2T)=|JfKRGD|XVs@E1!Q9VR`GBLCD2eF;qAAW;O#8CdFh zK1q1=1eo3s5C0x{@XzVSq_qPi*cYfU|4^h0*4-ZNc&~lwpNitBYWOapa$%GkGz=J+ z2!P%vOftkjfA2?c)D>kj4ByXs7ll3gUP$6|7G0gxVE-#^S&f80SWB~HD55|p?qABW z+@O^aj!I5HLQ4KVqB?}!BIeL>&!PqR46X>n-6p(}NQ7LF*h^R;lk4BBS8W+gd?VsY zt0T1X#QIp4mHC#T_H4)k=jkuryB9-ACtP8GS5c9@m-1nvXfcg2=dlM+pbTyK+3eAc zMgBYluy@7V%4X7x5YpX^;;7L4NEzQlbkU5$J|Uj~p%F<;t~GrzIZ?Zk*Ttqu$4hoi zA184O5q_(CCCpa)H7_wb;qThXEeSd=vNjM3+toEaQN*1KnJ#3OnLQfh67W4ZS^T`KbsJtlIm!QUlFR`8)Tl~XBBH`6t9b09tY*CPJ#n+<(f`GQGWlvreSVR#uXtv~aPj7uu&60JF zz+vS5D5E>u$@+Frz`+v*s)I$k8Gf^sD`m;u>Dfk&>R+=X9LE{8IaX4&*T&He^>bHo z6bw7nf5Hh`L?s*1VI~%yLBk6Z5hb@!-qem6ltC13a08loOPdC#KIR&@gD&S#cxPU8bYBWx+Ya7{nzz`KdCJ&ch3|y<;8yT z)SlW#tLX4Om)uB{o1nAG%cc2ob@dBF73-{k`ubY$ZqtY}9~lBen5!dGb5b_-!rwiGy+2qbjw4v35KtPP|Qt#;gA~5TG#aa^YUSB$OzjqZX0UN|Hzl zQKF&o0t|HI$&Cbc6_Pr}Kof}#%=DDsA~oLN@s4Vy^IFNUWoWp{Rs%68?{oc0{2*h7 zA7-hT8C3J6)K608AWv6IcQ`qka!^cTum{B7>hFl7$wT0)_+|~|@vbDMNa}ApRkbiD zj4TCxF4pu=H^^%;%lh@S(cv@L0VK^a1g`qBi83-du0i0u@&|RPRdJ!mR@m^JsI|!m z`61Y5AO^SG&?~nH{f((=6NB37Q*VAaEfqCjLVjA)OL*m*$x~)I!6r;AX(dbN?-}Hn zm}VULj1eP9dFMErr*}sDxW}gtq#~YpumxdX&zYNz0~^h(dk((P`xb9E#xOZZVmFq= zU7aiMzkDoNEn#rp>PerwTIlW&0^?r*&WxjPIstd(Lbrvh8Ga4$6pEb4GpkYH44jXL zd&3B<#lrNaKB#NYvViPG)Pc=#vgYeq;E|+99u5KKC5SF+N_oEJ5b5xEQsFPiKle5l zy%sDS|BrjF5|4Sp`PTM;wM6?S5jD-*wS(M1^;}RZ?*x~rXAoKB0+Up95H;7c6z@2P zt`Gxy*f&3Hy2+Sp3o$ci(gD&_rn@v#=V9rLD2c=P%YFo)AvlWu!3^4R$h_>E|EWUu z(-+lkgU|D{mYqgQ2-`iBEN-0Ps70VGZ$sjhek{ouD?qQGwI7*d$L8=J|A_H$Oo7_X zw$0~A`~9zOf|lWzZX`FS%d?hxuDqqEVmAe`TnPi%Inu&aCx9@fcpQ(fi{j~wH6((1 zV{1IY^=lea`fW%H35OfZ^P&7m!Lxvhef769_9(y=BV&%vO`!H?9m=rNc##fU?|Q|h zdYHSh!D8TrBj7AUB3poL^f^VX;ikETHC4AdVg9nsL?PkSD>Bt-y$4*_5L0FN$c)tI zd!^Tbq-U=8I7?lYq?-bHuCMWn-BPa;85Q4xy3_E!-uC`@-w;X2zqT12sp_UZP{^)h zd;K{5i*n^xm2hgTqjo0}DZpCDdLt&lK5@`Tr$l{Rud__2I1@><1R~)koUGXMZt)O^ zOlaA;Aq>1r{n%x$B))%So`O;kWCZ z`T;;)qY4c{5_GcgkPAI0+pBMxw%X_n7PvOrEwQBUvczifkb2oJ>-C-dcc;V&GDr{- zU}n?UNC^t**phnY=l?Q@S`4BlvM$Ipb4daSEZRa_=QIrqxGl>ce?R@2l)^5-7d&#& zGp^{0^ITo$0hw;jzbm)?Q_dv~mwP$#P%-j%i*_QOyK#8`YTc)HCsN)1{~z(%Kk}w> z*^hEH3EkY(#!1}gnbAvMo0#!LV)Ik3q@7Fu5B@XZqb`im3FFYhZ;o603{ClNnp>Ox zd8z^B|6XAHPbFH-1Nx`t1!i@K*22PZc~?b!*XER}4Q}?20sr}||NNf+A!2Lz@Tg}r zn?q|Ac;!QQ-u)7ez<{uFVD-y+i+``l{HKzyi(a#>%P8H7oF>qf+d8YlHzkUQf4x>- zQ{&$Y-v22B3%!k!#>Jx9i?G34U>~SH>nQb5W_K=(1qKX6Rn- zSW7fd3QHr}sUb)KT{Xh1?|+0jNk2pzeH?!p6x_4{89b?3`yRj&_Pcy*)DkI7g#70ycNupqbd7a zWFIw2HZ@>Jh*}O|MHBmyCrr`&yF2a?qwCSABHuJ zciG!vwgrIP!*b^ z^|hptdsnL}Sd~6Cu*06S%N}C1%lJ)ERe(Biayq=txKS=Xl@^U>ZB|k@Pp+iSX<|M;CfVuIf@- zimQorj29GEOyzd+f&~FYf%4iJIoY0^lbk5sVM!W(x6PHrUuAnX(zb*tqqT|tk#hSy zgo@J;@|O|^&h!T*c5_Y7+4?b^N-K|n;BH0d3s z_fF_lKtx3Z2_RLfph%O@i}cwfO%`rk9xJ@bBg zzc9nh4(z?pm9^Ko_Hq2yzt6D%Lz#%ldp)qI^6fI=$uY>CDO1Sp=Eg`*3-Br99})Ri zJ}XXAM}zwk2Iw{cTmS-HBK~EHU9;eTgoHlZSkH@U9u<~WO;}n~ORR9fCeVOkCl+C4 zF?J!h^B0{nH4m8Ul3;Uj?9%cM4yA`)TU6)O^+a}XafEJ+Co-;sh;K&d-X#rlxP|H0 zQI?6gox^jxWCa#_Tk=FT!mw?4K|o!j&0v3^(K?@Am_Jnho&>J-()YgpSomFfswdeD z_1WonEG??_gwwlu_6wB#B~1R&b9$sr_@ZVB@;Mh++$V%vJNKL%xVTPN^JmxpGY^v8 zB-k+U7}Y$BYP4kaH%Wpx`K&4_u>dJ=0n=-MT~Tsha&1J}Hv-!0oGQ{2sIu#ddWr z`apQ7)IBg9^1g!j-znzrg31zZ#NQ_ds54AITzMpD+xfN|*sNW#9f%2$)51i`EA6ve zI1|Hy0LL}XCT-gHEOMyo;%JL2)~{8YX7UnbLyg80&egZR(Uw&R>D~q%Iwey0P(!({ zUDu#!l=XY_xvwkdXJy7Q_gt*r_;IKc;u#K;OlL&0iz_h$s4F7j4@sSAO-Y=F+ zh@5stGf=>q%)5mJS9&_O{riXl5fy;Eu=)m;B^7CE|B{~uPE;@#OqA? zZNVsOUMP>&cRCDTq^4Hd+Uz)8>Qm_Uf~{*x`6pLEhTwd~*$e-Ut@agb6aMLm;{MVq+UqfE=4~k+B7;gs zagjdroOiz5?CQ;k%~X)+hW_8o5lqAw>;#1cty%x(#-?}4SWe%X0Py7;HwTZJ7QfP6+6vrQylN*%+8RU!XVq>xN`bWkt84Bs3PH+sbW1x;3+CcT?vfua+n(ca3xh&8l%| zfV{aR`|3|Zl*gzJtih!ot-p3{PNY>z_a~(3YrN`vjDEntP0S-&5zf}Iy-njN`@yhT zw|wo5n1ez(2`fQMA2@$drf^3+xhey|#d@6a_4W~}zN{&WVnU1+w-E6(mKQn~w$Wws zf2+H8f|&L?qrQ1eUyf+VG28y}fCZ-*$#p(DeTYEy%X!|8S&%$1Kg>!h=in&6c6jwn z4$#-SDEc2oR${D*C5}g~??+g_61O|e{`VgX?UR+%fC;^wq=_aw5kdO9`cY}>MZTvg zG%4Ax!dsxvszUem3sjyuKHwJdHMbw!Qt{<%^fl+qpopj3*@)reT)RH5{5Yh~`h`*>O#Of6Wmv%4X|imH+G+D1O+ zE_H;MJdTl3;z>fU_VFf5Dr&y&4LwHSHL()0nAM472E~ql$H2YdZX{kWF3MYE}Hz*!_SU1ggKB?55z9REO{iiFeZ z^4ScZ5AFM#B68byuTVz!1H?AKKICut1VYOcLaZdCdLGWDAGFrwfC zqZ*ww+AY8! z?c;26=Yf?MH4)X50>w8v(I$+Pi|St|2QRoE3Wk3-z} z`PB-W49*MpIYo)XwnDX(;5eb@%Ui6&J%!^H1}^w`()kV z`pB5&pSSEQ>-8l*;zNk<=)w!fH2;91S2O2py6B0qYOB)8FN@ z$IBkSa0ZtNEMWq8sPspW;E5JRyJXQ2{h#Q=K`1wPD^f*@$mqs7o65bBOM~|1#mbqv z#9M0FRxf9nxfShk^i=;Nm9(n`wfh|1gVlOs^;d*--Jl;SXD&scK>q;z?y>V2;{iS5 z&hpYNR6M2TNj?}>^$5cPOtPOoiRGkB2&#L+bXPVm!TI4N)qFz?PpNqv=!XF7rf%IF zG3*ZNk)gPJ6iw*9xoq+%$!aJU^Jz_47EeUtHR^{D5b>c!7<)ce+b=qbY|zFt+Ff6d z=KjfR&1-#H3d)_M`Di))Ybl*_(GQ1Y+?d0@-?^>Ygw@fA9+E7){S-Oag>AA9%5)^{ zPOhI$X7x3e8K2fa%u~SJCjQ6?*6_ikrns-~RQ{`!+h@BTzs3ytJ|v2hhHW#za;&hG zl7J+0x;Gc)sc9&tks61?F1vXcYyOWQyK{ZXCU~m7_1On>!uFNvyE%KK{ro32$Dmm| zr(2o@tRz0a9B0dO;%9`DyT@`yJ=M^DMsF>R!#sq|%QIEtpNYSo4fr5TkUx@Bs?ipu z9-xS*ud@ldVKM{}W*v^M^HI zI4NlYs>P-Jq5o6ew*P)qIszmf+r#3x=-CH%(&D_ufj2nh&EvJt6JtntGFGc=f)(*p z0(jQBJPhnp(f>C4_x9{=up&v*C0ny5J+7nytG#n&$|`hRaz70k4-AMHn>--cp-Lob z6_#gvihWns=fL}&oq#eUX#TcKAT?39Xf55hYpfpe1?gnn8Agq*WTp-%x`cYfZw6B5L3)ws zA+`vUKw~5SVbP08j<}4eP1;0weBc3IW{=_HccUmjejar2~ow}D>sug3guHd7J03jDL z5y^#{*yr2#U#~@8J^uma?_(=V+l2@wPWpRQTknF+MbUPAW7yvFMLfP(Z2-pb{+~#m- zd5AgdlYH#n{mA2|7@#LF!UhhVxHu2JhkvL7`*raLvs9*<`*ygP$(L7mgY8vS4n|>H zP{DJM!uQD;CCPhn(=!8H1{^(CZ0_DKssct9A&nWA9a`&IrmXW0&6kJ#xC4ws$xRSw zLkPS+i8PEgvRq;jcmDyyjZR)HK#XmqGa7+6w_m-fSq2;?-L0d)UsX0p;mm$mjmm<* z7tT^`TL=;rI}Ug2ALU?o`tC8%H;^H&7oV&F`yP;!khuLT!z^MDtlIW@j7_tkjYJ0+ zn#ApvJ##tmcCiAZmoWf^f|LhEig}#K|V8N9f0;f;DdHc>M2`b@shS)&3DZ}GB zxmmnP5DA~arZmXzOR;Y5NasNWR^1iUy2ig315y^V-t1LM!;t-JhELyEYpNXhZj1;{ zUX2n^&?|d-L*sUj!Shqzyx3L@+*QiWW=FZi`kX@joPH$yoDY)^Svv$`u=<9As55x# zIb?imH1~z@-GMqlsv&!pFT6&OtD!W?H9?{yOm|(YFtGaC2D48}hxnVYfxX1*HHg=n zoJnC16Yn$e8pM*Y48y{$8pOi{&up8I?}(%E1u_~s@P<>4{X^M?Q|+7CRXxw@ZxZen zEpPi(T8<`h6gYuTu&WEKWqESP3m&S0C2Zyq{?h1hqOI;xiMkS zceVzJrbA+2ZJ=Tv_F4fG276i}g81m9=_OL;0^>a`nP(F3Yn1+?VKdTp(PBRAZ6HMuVMo^Nth0 z?JVO&Agx==dgx0OQ>@1UZrVy|KBmcA0;s1~c{&rWBL;4z^b*jq&lu)0R=ugCVK zO&!sE;b-G3yt}^2b~TV4U82#+xGw6haW`!z0hCkPPt7zBv%eWT0?O6-GR_3K?SXRj zWLl1hzNl=HMUJ!&Z;Z32wku<75*jLZv%bx+npftG)qjcuj ztTQc+Vo{lFS1U|hV1g5ED#vRCZ}vyeSnEc^&X%v$cXHz6#Y6ZMPGGq=Wp)XMT-)b`-Q9uCSin)>0+wgA7<$&q7M^p&Y4%<~Kc$I%?X zX@;PtqeRMiXYe`GYSDPN=jvzaK8X#{0t$0!8FNnr8jinr3xnIOzB1vIa%IVNs$O0n zHlhA8l>|#~B-ZKf2rAI?!--~bBPhI7Z{NPVh7OCE4KHg)ki)w}p;zv&=51M{e{RQ) z{^}>&aj8l(f@HHK>7~g=@rpCF^5gA1%2hjA^do4lPuMr{*I^9<+?Mzk+I#ig)po1* z-xGWL>C&N-9u0I2Ee!Q1AN`ELVUGtBOq4C6#c?8D?t$lP{*d$uIgiguW05^c;-n9n zsxqUS8GXq2THmXa$ylCj=rc@Z(74WDn-@RzHk@NvJBkUt-g@S_M7Cjk0e*OyGKca= z{$`tZ(L`H4cxx~Q(DX+hm&Stn$o_D4UcGG)GWPz0lfie)lxSVE%TEtChGLYA-mvB_ zY9xtJDZ_kow<>b-UvwD1J0Fw;Lml)WCijT(*Z=PYtUAM$WTY-yKb&yiY>0qLG0i# zh-cmC0GDCb6V9nxv;_|*cp_v=O0bW>rTE=Egy{FOr3xP4`r?w9`R(@TD6svxPQ(*U zTTtqP>|d`G56lj_w5%jIRf`R6`WGV zT{J2&AWr8)hhyZ^QbCP{`&`yVm(ZWuF0Q$$GsxA66M*Og^9Jk@+4PfcZ=qYMnZ&wQ zPM~erbEkdxgD66qifc4s*bG^3pOgV+BM0WsKBnB{qeHwpl4N!(QilFF+O_`V`JQ&) zDDvpvf~`<+9HrzC?B18xGk18H8>M8(n|>Qsq|nF1!ZVzuFm3507h~AaE-j?aq0ep7 zR#Is&jGCD2SyjLPfgLGeb3mIWvp!YZ`NrCO7 zp$h<&Q7^4-62^gUlWY1tK053W>feUA41l5X4YkCA@#AH+Yo&BzH-pbS0lD2AidO9m zy>+&m1MOEv*+^~svF&4{+s}r#rTh=x-jzXP>4o77#JtMD40TUBXccoP@slDTR*w~+ z*^uG#k^1Fy#=JDjrS8AZ;sp$gMhDSIKVn692`rTy!%)YKEkI(JT;PmlC#sa@r7^wC zdj-(_jJRKJfiD?7&w;SB!y}O;$X1xfpXK6V6F?J_e6K#z@9i+zY9RTYE6^Iu-sBuid7aY?GG5RjCIN zdPT|Uy?0NJ;%y?rSS`g54Q{LtmB#E1&^~@n?T^|Sm5mZnc7eT3|E)!di)Q_$FP^eZ z9cjFS;Hl<>$r@wS=DB`O7S&;w4B}Fu*`mU=TcGqW{2JWP#m-z+9+6jKlR@j~r2TMk zAYnam2A+Q^%sifUPcH^EA89adWxymTTzZ8;WRQfgQc>MSY>JlTXCV_Zz~?yAPuThl zD9vaDpSp` zR<_`{Zxtga7a%y6cv%VAr+26`=3+I;-1e-0GWg9RR;-Xa_f4Fi#Jijy-I zr3U_eg=K_Z3Z zhFkUFTC2+|6TWMYend=z>|Q*v!&b7xT|EXkqzme}kUc_k8 zdS_xW{=3o{RGMCWH~8!wFwjgwqjYEKZ34mXElkPXQhWTQaLjQ$Xy6!JyJpJOIyZF1 zcaiWldly%t_58P3&c>N37p}+_J7AV+fi{)EA%4}iayxqfLrOp$z2f}y(eS>zqzCr4 zIyc9EHkxj@$VpcPBR3x|IU-%fwWa-TmAQz(Qgym~U^R{EvMXU_*5zz{f(oCyjC8CO z645&h(-}PHrqA*ZwUZ|##~7U4~Nqf*RTkXgytQ2ZUOl16bFXg}r6Lt5|Hn|--X0?%EljDK8- zOqac9v*nWdGhH@Wj&Q)ZV4}%}Zp=0JgqU^nJSItngU=1P^6!fT8`EJIdyDUTiA3A) zCcGQ))a{8Ocsx0=`K9-ZaBV6yWbij=7^MTEVRYJeMh1O_VK1J1C3!kk5e%e(6u1%PSiay>k7XlqwH?jFF5o29D0?|BY75oUyZ4*s;y zR|hn>L44o%ZcWmQ(HB1QFza20?Q7mEAz7Cl6=0sVMC6*jop{hH_rvvwkIwsXBg!}b z4^I1J6xWqZztwy*71Z)Ene#21jX;c4rVo(hjkVr1n}hP3Xaz2vIo1A*hb&<#!6TOv zrIF$YhXikF-`ZioW$Vj1*m)zD?W=>(hQDUo>vM<=J|Hh&jx_qtL-LW8t5>6O`sCRF z_J`}3?h>S+uuInQ2_T3&Az zKLcbox_in+Z(w7AjWZ}$am;@u`JUmQ>(EsQf-6s#*gB6L|1;{u>l=aF_1;DOn zc`)*4?)q|wG9dK>KrjORr?Y`W{(GC7V0_hRktfYNuBPr%d%qu2$Ilps-0fw(*)M0# zlovb3TDwaFWBA0Ki?P}lzsaMl?Uj3^C7e5XV;sixlnH8bU2!!rO{XwGu9o ze6nE%H#qbj>HGF7VPE8Vprw4Dm!xwSF(DmiMnGu{Y9F2)P|DZ>k7vSu(<$hG(DadrBTwD2Cw0iNsLMptLU@K}2J^lF#x}Nn* z;3N(Tv?5>JBN@6|&Pe9`2h1%b155{Cb-zECE&NbWM{B>8H#Y*}AoN|WCpV{R((wgS z8b8#GSoS#9~S1~lVW zFkuM}TFN?r!=&?zfksWhc>}xktOp3jn5T?i2Eg8LrpQ-22tW5~rO(N^R^$9cUZ`Of4VabYi z1z}l*uQN8s*V9;*$f~tRj^5sOe8(ZX#q+A2t>keqHM!*!v3B$bn;aEIvyJC%ThC+m zxQ|Ym#H22AUCmIv5l!V#O6U#wWt3Sh*ZmE3$`o;JBbtTJbG05A)d>?ek@W6%o`k}L z8Bc1S&mvV=T>Jidd(CqvLALsO6&>NWJE4a`0fq!xu2N)IT)L}4nmZ&mt?xGkmz0c$v9PkZW}^_J3OMdG z5Io=4L~oeP(Dx5~3Nbo|%Qg&LdflH@u`>uhM)L8AE;00Uc7(j#=+KWCL^}mrnpIyIi6mY~Yu&A!Kdxh29c@`23h;{ z+`(Blu&f*q9A(ozhM2E|>#@DhETikfBWBWjrv^XWybR5c)Piaq1C)G@QjQJUAW~@BHlLmf!x}i^P#KzlTeMI@eEU>J$)&6$6R=0|Xe=k^I zhN24b%0iJ_EL>{Z=2%Y%jB?$;?|-0;w!c@P+V<5~Qcbw=HoRe}6dQovaNk8N@Wj0}A-oVr1|53`S%NZQ_K>@Q&9F+s`+Q_oi-S zWrXZX1AM8VBEL`DoVzJc!?J8ab<8l`@kSa;@kUOF5Z)~c-x$^_lux$&nHt;uJ+vu+#JwqyYR+-1c6@G)oQ z*MK`?$>h&+%`vuVFEOpLF!5QB0o}Ka6XlkIT!1dKNLHE=c&iY#DuP0;5A`(*<^Cq4 zXFlP{KGqhuq345~U(K z;nClVlkq;@QSNTyJDFk5r!us%Y{bFSz@`SrsHRzOD25BN|ux9&CrU7FGs${ zDXMPPp$sxW95T7aR^sptmvBLw@d#Ikda3mEHRO|DW3p1!$JeRfA>%2h>G=LvbpITX zD_t)PI<9||aR>}QSROgtK{kGm`QG`gR>*Y2R6a&PETIPnFIaa+rgD;9>%RXyaJsU4 zeziMtCHFW1-=sMMK^ES<>-vZq5r~6}bIsg(uV-yhRO$6)9fHG|#$bqjeeCqT03NS0 zQwA1@5N-~zFyUj()rK`37*M9o!S~G_pUCxr^lA$|2j9P}jf-FL{X*7|gzk;r2V!VB zemb)V)+|5v7}3YB4+pzaM(Oo3(s!NBn6N$%OVY}HhK}CfrT*=@BreLafBNcROS^$# zC6O;)xRrZ|eVO-NS6G3vlG>-sE%6g6GVps55UOjv&i^@E2BQP_$~(Lci2<6 zZCUqiY>G4P!|wM17riqPNx<`uT~H3BRo^}2a2XD704?y%MjE<8=71BNDZT-W(S`zh zPaYf>KP=BwL#U>E-DlY{`G9*llMnD2<#X02WcPhAsl!omH@>iBGRF0|cCVe%w-;e2 z33}lBO(Vz&wz)qJpTsmd^$}tPiQ-jvWWF(5$*xtIj8C>~++U88?UTT$2XMsP@M3U3 z!*=VeKQ?A{Cnzrx>=lTRFqX$Wlc^q!la$n^&NV`G48><3iEN5!D24m~phKvuUmz(3 zL9`hybmjzl^}72al`p8k$!ppp+)BsPV57FUL$?rD-Y6jieRWjd?QLx{Sw7sqZVKNA zl01Ue&NHbUwmqApah!u#wR$v*dQ@6Gh}lalXb?T>)o{-pm!uzG->r}1O58e`M4Dbq z6M%p!ry2PS1;PeWC*e1zBE#B!Y>aPQjn*pT;qt&Xw(Pj_b{?~ynA%(<-JLtQpnD8b zZ*gf`U^Vq8C%912Blr?TXzUzXZngCE#Zp99m_iYPy?3~RH7|%ZdxsJ*cYZA}M7FU5OECr$Gk_Cx3fmChtd6(z!-`f|5yC;9<9F7Q zRv+mHJ>4uym?C1dVT|%b2fX4t0;~SUvU0>osVQTmZ4D4^Q^)EI1zzSBM*&ute zom3GHo@HHLm8t{v*ll#ty2xBQi`!e=IL0(v%^xqKYA`lq>_~-FTUkA9d_?uISn^%J~Xa((7^8OKvE2(-_2#dZUOb5{c49f{58rWB28B#s?~~O$$vp(ofPe zaN}1Gea&5oqTu>TFWV}4J;T|JGG7`WY?u>mHv6Syrc78VFIwLIbH9&mR%T_$d|Fk*7Tx|EK=!e-k{b zydVrAdp}t`?(_fY=p2rMZton`O1xU+e<=9=({Ctt{IRURB;)=mZv4;xMdkmGziXwc zRq%*E6K_>p48S8r$UMdBUH5b{tvmS1}^|!<UKnXW!#38a6WyDHr>H@m<<% z!=f=FOS313%gaVgcpUR?<*>pb?3KLtp5qiAo6*v zC;v`7lEpjIdQtGlb|Jn`*K(-rg-A2a=1`BQ+u^2ttS9nso%KJQ2HAAi`<#zR8*cq($j$fN z%-Reg6ZTm0{ENmF47iSAKoM;i;K7M=&)cl<1W|(y`nuNp)Cps&dOM+a6vy^{4E?2y zK77ABWf0Z?C_3jM_!?A=3a8Z~e&`8kF1QIH%uQC%%;p@)6D zY3^h_0hA8Mv;1B@*=gtbZt$m~TW`E0lsIR%65ggORcQ^fWK}mv56m4OKYE#UwO6#_}lxnE77-)Uxs)-x!tr>SEvh zCBm(mpB8ZKe8BtPv!42wzZPyinXpRC7x>S>ylN6zOLf^gMmGP^M$Jp&>gc(d6hhZl zOnw7DCltVAM*S1#pjj`ymu3}7oM|O9{BW49E*s4l%)UFs8BNse6${5Rw6gIFIg27% z3DJtXM>|B%Owm?A>=QmD-13vhz4ld3sBmb9DCwH-3WcT#c zSewPw4SppJQamIbsJ}X!r`VXkw8t~0B-bq&94=0F)*Twp=A8BWaunWI9MUVj`J7|k z!9wmH;arlVARTIWI`-)e!ueVkGco0J%gZY@3#-#W$r~DlDP`kM>1%jCYX2{`JDn=p z1i$1eBsb^bTnUPgFN6~Cm)1f!X+f&H`?ezPD4u`oLjLQSjt*i-YTBaq)??Wg*x)_J zthY0;9geX7W&t=<^xSd{6!L1nPMir>!hD8ZQ^12RhbQz!gl2EEDXaB+XMg$R#QzU% z{y%e=iZbD?2z%Y^>DjHrwPVQf>ugO4&+@v&>Yd`ypH~n}3_R%l)#-F(^h}Q(2dj{+ zM>Xe_&SNrgQ22*ol}uWmavzL z(_l+uH6{4%m0NGys@FwF(t0{F6gA0XZ~JvP`&)hl8QiR1&c`npH3Hekc7EylVs9^X zf;q*~c&m5kmEDx~QkW??-0aI8`}H`P^ov!rsK?4R2?`NZ@xv_6KqEzDQ}ccUXfS6E z&ukffR*(B%$c=JTj&5$>_R;yd9?u?X zzGa5bFD7(C%5&s03+!cDja{BtJX2a;`LW(I=MF8@Y6<3RlaS->~9U16&5FH(lf<(Ln{t{2McCt)e^A@Ano%0tY6IjkB zjX-GzYO}=?a~_qyEK}ZEU-IO;&z>j*Dq&72T}Zs z?L}`B!{6hfs`tmkM>ix(kjjFRi6w=)z4x5Eb4=ql5)l|sW~v1b{m1@=MS#jq1GJ_0BwBR0lkYWTv zqC-B}Ok~AG*o$ZyO9OAAQp6@uwPK}?`;sA{%CA&!a$s4SFEGDU~DnXyj z@Y1eq#Xh&=HY%S6g0;is+TlqkHs0%aPE@0g9o=X9jP^g+vdZQ;=0NnSZ@uorK63g| z`CUOVr0R!o)f1azR8<$m$*tM$Nr0cmib_iToplL;Qy$h7-d3L1axKU&)zkrB6>-T& zc&6Z?t6CkK0~=^qKiwwxkEx*PJn%fIP`N=C5g6^Tb2CNgIR=){e7@vA#6uqbyR7Yg z7!#@upD%6fZShaNyUjFUD8F`_&)Ozcz;!RCrFN8N+W+)D{l6l+K%Q`~u(Hl~3`^vD zUpW1)HZFLih%^un=lQtruF#s^otnNn@Eqxkk2a zBsjp6>$_>D46eeWhGf*mG$VOMH9KVp2gtYaH=mXg^UVJAw`t|AroXo3IcbScSD7%w zdkU!)8Y;7ftEZm{t)GuEng_ah;A=SlkYD+N?imrc89BRU6xO|;ziinPANu$`*Q(*e z?JN(BIUAMNu}RZ*pZZ9E%yDzQ90C_DpuAh4ECKPSo!Vt znAKZ33Y+$LWD(mHiPq+!=&x{%za^Q_scEukq&8If1J-jPfM!Yg`ir*P9(G=RR+v17 zDJ9c<_^rn|?;yR54w(W~V(k0+qj{id4=ZMAm&_Pp?HC8*j?vYDr{#E`{dQ+4<0D>~ zrU2^&vgg<5fA7_;8*+v!OnCQvb8Wc&M7u_vkg3Gt^TtM++GlrF0=sfN>OZY8vMY-O z(#<|H3#%p*pJQE)m#1f&5BI}xJbv8PlbJS(fAQ4j*ir#q2#~OpSAj~N{v}NgM$jz0 z4SDx7z=izTloUg#pK0fP2G9@&&-fP@2hJMd1IQSWHc^pQRB}L8hX_MO+r_>6H_jFR zHxkt^g6o$7mU4X5H46K6DT#BPMJoZ@iJ$C`?t~i196fjwFHn4rpH0J2@3a_%ovmM~ zHN;mk2_SQ=a#F%cl8`cHumQC?vnqZE4ruSFV`35 ze(S@?o1bERnRuX_Fi|j5I!&taJ_f)0JF5L!3_@r5@VR6ZRU-v1CFcz(nVcfV3CEr9 z%DFCo|HFU0kpk(O5nl>GV(8I(+u}%bX77ev-|Q+azyAgPyP+9m zVc@G>%N4Kv7ee2CCPAMlr_G9xcX81{$>FP?ElUYv?*b>kFzjs2P%=GPix2Ln@_EW3 z2V{yoz{qGcOxVfr9LpAPK(Y1Owt9mN*(1>my=oVD18;Be=ALf$h*LE4u#=*%rtZ4) zykn%N0{hy3fG0gHI!R8=B}Jr(#$v=+o0X@b4tz5m9J0`c50c>|ZB{4wuDK3!nV{R1 zNdlfD>3w8&WSl(xAo>?6&DE%GX;0b^&3@)){t4d!--x%RZ#mpm81AdZPww>#S5032 zfrF(4Dr;(*x7T7G*gX{s=)FzpJLZqTSHz2|QJe47UKjJjxwbep$)Zn(z#7jwn=i7S z&fDz>E0Z$mMa6tcfAL`Bbh{|wV%p;6aKsP%GlZ#Pu42QH+78!vJeixqG@c$lrDpdTTDnyoDD1QGa zAqNyc_w%9=lR*Tup;p=s_y+(if@diN6-QZ+{rkP=7yP51)J1m{TU-xO4_K?lGNBaE4{|z=~ zGj?(`NN(|sC}^T9*Xy9UhB}{Dx1wq7qdbx*9q1ndW$-lYbArd3>@txrp4>@;;IW&w zuaw$US6-V|1YmD_TQ<4mH+bqa5VFWT-VlbyD{`tLMqVnmJzc$%KO*#F#>P{go(cWC z^C{=@gK%>eos=STHK3r#H9u+lkx4O3=*(|K^OYyL2!qH@?(;COhaa87y0b-BpTfw+ zHtFGLOBeQMRV`WPki+B1-XooV#uim6hQIVDoBMM^*K`Pyr66PKfGk9s7(}Xikz2Pb#U=hnIyRHW;+|hjrAI#HMQ#%`IIs7qCf#CKQ zz1X%7m6lq#!khNTD+Q$ERvUsDcz`{D9Ls*Zg%_lSs?g*$*7^K_ML3BSVRyfzU}dgwLeEchgRxGNu* zJ{zQ-r!^t|f>6ppq!Jys-=OG+4n-*BqFe{kszRBywI%|^_PO-QWi@9_!y;?=YOGf! zMt=yBn-)(bg{=#hw)&l-x=^`CagXaqDtI*;>-Yk_C9mFeSH>qk9l-C#J||x8RcQf@s`}IoN6VgfbiF0tj}l+CgnV^W3SaY~r%;yF%0|q6t>ji) zem(4$Fw}vWeeTBY*;X&_d8~4lp?IbGtCwQvk9+*JcP)bTb$?U$xO*kPQ&EE?qP`JL zN4$)xE~7B`16j?TbYwN`D66}wl>EZ-d%@kp=Q~z5;_8nnJlXq${N9K=9(45B9Z#D+ z9LAGAjb=sDbJ}n6wY?aa3iyxBDY~14{p=($iO*-mUbPpse{VVX5v};qUn^d?jpzKl zjALcAik^wS7v=sza7KQ6CDa7z(Ak`7Dq?(Sf17=LiIj{C-dC$=fEwvqvwZQ69q1An zA83^C3(vDvbo7(@6VP_;I-ZRpj}CzbiEO(G!}mOov1Fq;F~YF1u@m=+m?+0U--^j6 z`o1;_oKn$N`s!zzH7Jqq$wHe2p?4$|UiFB?byQyKjPu3|#-BaEOuE5`Z`q|Ygp|+= za8y(on~w!ZaNHqnnrnGsqd-a_K~0QtG&dAo&%cd;7H2hNYpY*S7>JnnGZ~A8Wl1jwrn2 zB|V*KN<2CKa=)pb*4$Dk2!bghZ>bewjQQLN1!9tI58Gm%?nkv~!KDgkQ!UNy>wke( zObmcqwkDnr8m4<1dAuMV202&hObV3dHaZI1x>wQ$kj#YZjde1qU-JjK;uJ6KKP78S z1r82UIMQ7yKA?PZmg-mHNN0Df!{j3*4My;3;S2frRW14e^P%W?CU@rd3vVKr++(|k zGy|iJD}c{wCCLB0x~zncl`?MJnVT+-LHVrh07w4LKaL~v-Di-!p!^e;I7<@-Kd zIjZNlMDD%ZB7m*eS2^H1$wWvZBxmIzI7JC+fpvTz$jD1=m$b$wbz1Tbbsw!(jX<;Q zyp=(EmC#Xa8;oC<`RJ>TivmGeW-pCE9(XS4>UgCfuhozZi( z!3RP{&rMtUzm#qmN?z)*E9JWCCkl^udH5Eg^UcU{tTlGtb4Z9Bzz?os@f!MSyqRte zSlN$YXDlc}_wnN_a((g2S87+1>Y{%2>?%aOuNF3SD(|KIQx@*rBzz^{8L%@krP(r+iz1uIFTRGhd#>XwuzEJPxhr z=Yf&=qugsRtY1eJn>3BTdNKWgysW2c+0!Iaa-i_X45cv3_;R0a_;foe_Cd$PgwJhTPN&R!ice0b zQ$YSxu#nbvy7bo1I!{t&+VETCVf^-n-~Z$#F>^@#XDJN5I2}&SN`&CMRBmwPk7m?W z-K1gY(@-HE+pz*wPj0X%NkE6v`9hp#lY6#Bz;#0UN1sxS;uB6scd0p3s0L-7PZ}PE z$=alnr|kJ&?_Hjhp5UgE{y++X-fevV5$P&Y{k5cOymbiu?o)lFUfmg@K2-FbOejkNVJRK>?Tv1o?9sSR0cmb zEXZEBM!rQH2E&;hm*0gTM`F12RQEznKeph9@aWxjNahx9V~emkat``>y!(F$`wFP2 z_V8Op5D+CqKypL`R8r|2R1oRz?(WVJDQQIM1`&|%2FZ~ex&|0v=r7wNxnhRAVb`-4zI>3DfuCy-?x;`R z^-4e`u7vilNMltq?BjdcZsXE)`*jM;JnPh48>UlriC^a)hOrTODm6@77SO7^as3?m zY(nbaH`{foUp0XUMpr9aFbUa3D>}*G(=+V|x#XE};U0&U~F=Slb+Ux2}Wpe?OknQJ1 zh9yi(3Duaof*vCeNxr>`Vjh}Z2?B7G#|^!fNsXZaDjv);#RY}N@c>JiM+^vhD&om| zVE8;h6dV=JSsnvlCKv26yCn}Rx{n_u1_M%qKAeUP7ee{j;v=ejOMlQ#Ae8bMS~a1|cws-b0nBZ+EUgLK+3(@IkUd`s_0eoQgz%o_D>gxNV}k3i zz}>D0O0&qo5Nv_Gn$JQ{!R(F?Z8*NnCuyg7A9O2v5HmI#ypN*M`6~GJ_4-Id6z0$m z9yL5D->D&e@B4g*^T86*YgiJ({M9b9-(ENVh`UbF_qY(!tW0@%hFm#AM#abbjOLiZ z(o6?t_%dI0CcUtH<#Taj@a>_v;f&8~)raa`{_8Q*B8kRtJ669yv2#RR zd<_kSj_~5}Z%;eta|#wVyCy5ZvdrXQTyM_vHxt|LS=KdM^W5QLV$EC?x^v>)94fko z=Afq+t_yf7PI&1G9*#Ghw48bVhJy~q-|2dI-1wNCdBVcX(mdl=4Wi$3dT0$CuaAg- z0up$EF<9YC3Xyy(j{}VMLB2o@4y_Qa_28?i&qQ>6fXm!77BxpG-+|O9>w}g@@xp9r z4jyAYQC=1fDqORG{p)?2jY;|O!d}3JT+rF2f}XZ$&eP;Nwo3UhS<_f#f^8%X?XwUh7X(g=&}6QwzG6{_gmR zz;M-#kP-aLDYrQWwWXJy`Z)OZlS+CT2TCr>Z=h2ElxEIQcoe63fSwW{5D^Hi--b2e zvWy1Y%4Gb&ra=4g8!Uk4Z7c&}{oA)nNl!kpeIRa)AN-CtOmc*!{2k|w2o~o0FbS^M z6WrT55_OkCFo^5PR$4Q#aqiSH!k(R`%&s58Q~A(7uCA`lIAJqdDL}G}9T&=9GX!LA zK?`5})&SI5=BoX!?00jZ5lfwGtwQX-X%7ngn0>79)UiK2rzh>FD$H#f%?26=40f&+J+}ZBiP&D>^eEQf>1$ z1zKsoVXeYRUd45EvZ4r}e5K^Twt#KR9fR4SjGZ?_H))@08V^CrZOHoTVd%A-*s4aI z?>E^?pyDOs@pgId#K;_1joTC!67TUVA3a{dMUsVJ0SYchfLU|7%P2D+a<>uMOCq#e;3l_TiY@HHJOgJLd8&iwtiD6&TfF@$34y13v$uvwXbr*62PcA z=4g}~;EbBSn9^3L+w?_ssW?WUP%1qoi74Xgl#iPfWDC?mLw$)H92y|UJzCdmu>0UV zPH*HhgPUrnO}8q_I6PYof~$pjnTtLpE}<&tE#enc->d0P$+;j4T{xbN&aN1 z!$8`}>KZeze(O4E{kbwbLJ&j4t~dRa(T~(KOwsHIZj4zsr4It&z=QE!497Pce{#xk zoP5=NJ4#YieN~|C+qHQF*L!gQtX7nW5jvS^pN2Yiz3D(5#J7ZB7vs1^W+mIz(YGZ_ zuv`H#xa6?nB!1zGk9I&!r=f*l5KXG{fy9vCS4OQmW(bhV2}c3rg>ikDa%(WzwmyH^ zpR0nd(BC@ih^Ki!!aUI=KBDwQp1;9g+tWf|J9xAB_UYvfl&8D_Hg&2P4LCETBf0L%;V%#NY?C)M|h7v+*c< zD)+4zWaO(mR%P+q;%294o5ATOZ6UsdDpQ` zkgLZtE;X}-x{a-IuI@{{n8U5S!h+c5RQ6X;C8~Av?i17{NdLTa_b>Kuma-5n z51G4b3lJ^LlvC*%GzKO1)X^|uB{Uvp1)_Dw;uKZG!D!oB-6illBl*q9XRb=e`mU~I z5%Ca+e_nPWCUu}i@O(Y8rsdkEFuT?qC^{#jzsDcpaCTFtKoo9W5wUJIdXmRcsvT5R zJ1j~6mFgWsh;LAN{;51z0ARUf*#&H(p8CA_j&$S2XZD{UIM(I)aky4sW9iJ)abFGl zvSNUrX;HMgp9e9+a3G(1Q{|YWa~H_ax!y08mgq|Nyv^9Gz%lIxYyu+5OzT*Q9el2B z`veldV^`g|)VMgW+=K5Y(4v#p?_p?cnp#(&QiOUmAONQWC>@0pZLt4Lb+)g|Zi+27_ox;H6l&E{W)?T}1(-1QG2b{omZeqWO1&}1H(?i&Yu0gt zbF~>gl1Or-WCm()omNlH#tE}Ro|~Sg0>uWGV-kLUXpLO{-m7i=Wnt*XmUltHUz$HO zi&mE@&_?ysr*>VhZ4=S}qsz&0*%E6+J>`CzX zD%(-;pl~RvVK;4?0M9_g=#1}ypv68O&J@+259H8$va4?2=(v5vH=$sz>M74KI`nYK zqxy6%5UI-x3woccx+dO-tVKrkQb7b(2M4rlo9k*n_xbYf_(6D4{k%Jk9-ZF%s%z4T z2EiPMJP7Lw^V>7_R}b$;0$2?zW~{f-dXjOu=dm>XMe?%RV^W8E|=wD;w~ z*jEen3GHQ_WPUxzgZtVC--4m5F{t=WUUhy%v-bM%>T2zkAfGU&qV5hd1Ep4t_Y)o4 z`7j6AQAi#KB7j+dL2T>6I@dKIkQV5m+XBJ*u>rv%U1vFN;f!djzR>d%^W3DEO1Gfu zc3l%MDhIpGS>!HVuxUf~JPpyWFUT2X57u|~8h*K_*dGI#TaD}8z{oas+30)3@_Fe7 zLfhs|#}iTvmYSZE6Vh_mxir^(dZ)QZ9N$eYGTVdV#^Nys-(Tu|KujQjis7D>7Ze5Y zYiv%R4EB$O?PyB-FI5Ne_H64v%UwAsKDCqI)2y6|Ts}O*g8HCToOJGselN%W6n7r{ z++CTJZ`^mtV5)C=^bn}6;dDbn@&byT*~pL=H?<#|vGp*bYt5pJ zld4M7+aWy=YH`7F>rQl)9gr~YiiehHUe?A90z23GlOBP-0X7Yh7F8{Enu&)$gI592 zW+}~c<3%tz+_q{=wIJ4|CD`eDvthRxUN*Od7F0W%*g}0w#&qqY>FSjP|Eh1$hNmpg z6J-h;44R{*)Ph{P`XE|v1!+K#180Q;w*A#(>2^F_4-$3NtbpV>zF}=LuR|76U7=*t zhJWS_%tbcn;NXXm-n`wrIl!}c?hY%A2jK5`0MJI17wY_KInWu{6qEfO6n7V#A`Xn} z$sC%u#((W29rT3`!^Nx-POvXhMypb~tbS&5$O+1{4Mnz@YzJmq=&rU!De zWcd=_e7`TeE#@fuW$77@)>xo%UAa@i!UhP!dXjOoa{DX z|9K5(lt>*`sa5{4OW!1Gu|7*tBX9G`e}5p+3_-u*yQIHtMJ9`LV&h9vy#IfHpKyz0 zwRrJ-l%8fvStW3r!lHuDLhirX3}{Y@Cxj%hT-G_Zo{FEPI*%qu!d5yLrpay-5&p-^ zPnU?Dw!XgnW>hG2)7zYGxIZuZuO|B}@&IFu%SKAD){<1dtKoH`vFlHU?Sfyyx!3ok zLb7QjRN4d`&)P~FC@&@0xohFXbuQvNGioY|&Hvqj{ZB=@d4?dpW|}&a)kkl5ixbt( zA0}-H9Qvy%5FyHO4*Q$-Xf}S2ckK=a^vsfw;+EXb>{d~B{qO(k@^J073=jQc*M(ix zl1lv3{h#hH+b#L3UWfB@i&+&Up{q4!xP{Of6P4bnBSIig;au=s`1$Ua9_7J*oDvzS%BI+f3V55h`<+a){W zdg)10U(Pg!j?E@dU%eto_H@xMqv@H*&yjd+Xs{A2)VDQ&m$M7cc=-3k$=Jnd*0aiC^f?$i^}41e6oXUl`aCtoPOR$Jl0X)9dMtHYR8yWZc@c0Ui} zY!E?WX#oP7YxFZ#rS6cwCW}ZevAaXpoicYB_;X&R??`IvOLQ6Mc8+Z_yZ$S4vrdZ< zjgFIe$kTz`%t{sm0rv5lzZ>}*qdqYKMQO`3>-g0d2wD2*`m+x1SQlvuH9M`$vTyohAaP@^FF1=bI~Twb2z!wXCND!6h2r$vGYD zcxL>l914nEM;nQOw-nsQF9Lf1(K$#=Q=g;y8kvnsuz6BK|L{92%xbyX#^Eqa#U#QUJ?`%YC?ikHqjg!~eWXgT>n>O02#iW-% zGJ%qbQhPGSl3l+922Hz=uvXW?!fI&F&ZjB ztaLKy6(u&j5@Nl=Ewl&SDkmjm#2k#mJ%_@0?~ZgVUoMfBWnG(u9Mk^2A6|>hXIivm zY4_%%pWP*PIz$(79mDlT(=B7u5vUF9?=KZGFM>a|Jd@}#Z81d`tlVsM zejplen&%mL;g%k!5|2T#%Mju+o6s*HPIleQA1NvUyJv<`WM)U(Wq2a#kwm4H&y2c` z56ObU%^+8wkl}U%S8;!jNe*%p8hfx@r0C~*w0V=<7@&ot!s7SGy!UT_h%coKz@1=@@s;9c)u+U zG|o;tgXQweKovoa4GmFmP8iz(uRt=(t{P+#Omv=mk>uNaV{ZpILsk!FN ze0u5VhiJS-o{``G7-B}4eWSlEAcK*aQmo^j#KX4I<+X*DFOxQu{+^+la=(}a`++B% z1p8!yRhV0j)m5@^j$Yg@8CwjG;?izVHVnxm?nu^MDAFeR(4?ZRU(hxh0TM`ow1 zGmZKF+yMRXpGCt_AAQ~y1ajl{Q`oKFy3eC&fL>y5xkHec^z6@`Xa9)9DTeO0Ky&Iq zek!AG@#FveiL*qfuO^rumURL&eOREH})0f5Q+lzLWg8pI{{A{0)w;j!lDk zCA;;)OF}8B3voAO@0+cQ$++=5J$<*L4h_RAmz9)JL%3VuldX&j?)OL3XCER~MCoN2Tfx3JX>M^OB zncpZcsv2j~w0xO${Nk^UZ6G$!xgJ8C$l>**&&n}Y>HRq_pNKsnvTD?OYS4{(P2G#9 z^{9Mfv_;Xp>IH_6*b@(sVJC+BKwB9^&A~v}aq77PDbAr5s)85#wy->r6V5@J(5~$0 zD&=MI?B|>Hx@0n?@UP*vus>5<*9&4JN_uEz<{58KH z|HAAOUiZ4pZrM&(jRk*%VXEl-`CJ*@n3^V#$^z8r)d|n}trr4B&&7Y?m69q>9%-RQ ztSXjceq8??nB2i_v*j0Sv2%K!8Akb8z<#vog~VYJQNtuY2A7c`Z1GHE^2AWW9e$kC zS=ARE90fhPkL0x1d#jD_RQ~It=d|vhGgRc4_2=dqu=#n$BhpE>6S>}=8rO|?e?E~2 zX5%u4)+G3c%}~##*R|AYEY1;^pJ@}cY$JTT*;bV9JX!ET(bUrN*;67lTVW;$wVBk{ z(t=BH*D;(y9UdG-lUq(5=6B@!#`I~8oUL24byp2RVT-q3knrCz@h=3|Db>X|YLA;h zY6EncE4IA(?crZRi(i09*cLG145bFDuZL@|OTb(W*SP97pGDxrkL}y4^;`p-${kwY z-=1#f3qNZO)U4^BSPAMLMZvpLY#|{NCYuhInNZTluMARN85&S(XuR}xc3`pVP3B0i zt>k%j{C(!-GDl*{-#hxpk5f!VrQi!V%0l6sKmV^GE&7CZ@abjy7T=nvO)i+L=^9t# zuZIX3{+9YGYZ6H&vc*RFLM)j6!#vV$KY|vT^)5Q-Lx19&!8PrQ$(@JoWi}ECY&^^X z=juBv-63$7co_3PmVsNCnx>G1SM3;=-T!*?Z254+B4ZUD8-qcG(iWRlys)UgK4D&c zm#Y>xEsaE5p@p7!=osOT%nwT6s#`mc%)O87gSZSkE57rtuzw0!qyn-b3lg%VT|&Ft zopxbLd(x&hjQOFxr?)R2{oUXl`0Gx8jL*2Z5@M-8heF2JoA9$$eeg|z;dandf@9F# zBT@ID<^qAVgx`z@*O+1;GKUK(v_<~)$mxX|W2%y+)aoBS)bixWNZYdmDg7J`q6@{H zAsU}Pxs!@zZ|f=F#3vvyXLi4kZLvO6TZyWMOy)v?$e&^Hm6ntlJ;%>;hnaHkZFq1_ zFOS_n!s=VNgBj+2*Kf3bfVb1f<4TnN_lLaG=30g_e89QPYil{=O1TCus)9%!=l+OC zNHE4u5AS2%ol|_q`;2OJGS-Han}A5@`Fo{=A7H9LTP+&6>%t~+qH(IWwj(JIQfYMM zNB;Osh8->AjuR}v)|M_LP%~@NpD(w^jN-42<~Grj+ZC*zYG;E_#367n3yWUvUk3`2 zV4^)wS>5ZLoD*@%4Y__>NN}pMrEKs`!*EAo9~t!woy{|LSbLYz!HpOh*quP{3~KE~ zG3Qzh-%6R~uR*1sD_`EfJ`;thkK=zqI;V`ukcmU@p7zGu5&biIc|s_CPxGmd1tbA$ zBi&m~6nLq#HA zZ`x;Uk7VY%7B*Ua9f>3$&$6>YhKxXQVS~6LljshEgwq-}+pOnd>J?XR!ruKc6{ON; zeD>{XznUA=S7}zvi1x;ogYY$mch~-k05Z030!Cj15@F-DU#SQ0o8Y(_Fe*7aMWC-v zoBmjw3wrDth~JU?HR0EUZuii!Cz&fw>7`ys6>JeGB~HsjEL|`C(_*OxzeQ;Eqo}!! z^Ph!qi)N@`-c2d(e-jz$Sy~hp@g@-CRj?3VIezd$(4CC)c}ld5XqOwoN*=uY8R>?& zbffRBg>Mas7=})Q^5@zM7G9!*eQi5a{*w37bzB(~4N|2#qqiyXd+IGp7;0SL8tem`FHF+#+;a>cOf0&zLP@6%HYJl3BSFXZ5 z$~=DtAbxjoD>WhA7Lea4e@#^xh}B*xQzFjMr(2cUN={y10%Jn|I_3WB8<9<%`+el_ zB4l>V-@C)V0bJAJ9|N|z1)lu;GbsCaXh6gT<6(8dp+erDW9{GXnoJa3I%|q8I!5%@ zTK#Wt@?=HYTwR3kk^I{)|85)(;GXcUk9qvSaP@ijB=qSiAPKGmcvgjW_vDNJ8pHp` z8x}hDS`+#zi8p|H^ZVxdx`gG(?CdtFy8i8&!MAu*dJhN1DQ^Tbm&YZLZC%fG`iZfz z<#Amvn;LvnbK^>q?eAz>)eX0nOC2|W&Be&2FBs}5PUG=iU?sumA;hLK?H7>HUbL-S zCKd1%bh}ZDL+$%V_l=64XZQjVP1kUb<_9!_lK?C7$`&Yk>ijMkpGE7YE_-_uAhERF zsatUbIOdX5yt^&v=Ggu#RiK)ExkJ*z`C=GbJ%RAqFP5^7hqgmvWH#^PuG6qDVc%XT z&7AEcXKiX`Rm+60htQKPdLGLpJcb=OJODzhRtPr;re3)bV!L(I$JYXNw|^K4V*N`$ ziWJ~d-4WU}Q`0t}AQhG-4w1)Q*C-Nx7^|}(OyIJLyIlGzCv7hM zv~sG8115;ngV)nV z=q-D2hvkwJ76O)6;}tthMtPZqxa>b+M|t-9mtNJdx8Nxa|VqpDYDE z(3P~oNRTn~hYOiHeRi)+C zH*E`e6W9XTj-4&10arkWUxnp+*1JTuLtfqwOt2I zBd1OMv^`mN=8=l2lShVgAHSC`pI=I7kNI1UPh^1ONq0QD+@UxmqAOH07MDBqubsA96hZ7`>^7 zt{19<03A{fjNp+?Vnna3>vv&?-?YKCIT=PN4qfE59xXmFSB`3b^WS%litK!tZo|lj z1nse@ol9{Cf%I!>1CaUsy7!)^ma4P3VP`|v=U7F{biNfERM{Xx3m)Llv6p#M7K7&^ z%a*D5!WMEFTz}#wl%ygYg|KbdHig;&&Eq8KOD7&FU9N{E6=V&Nut}mou!?sCLYyIJ zz-z*PM>=z5`Y=H-(Hh@mi zIpTBMLds4U$_XHj6Hjx6Rhkft-pp z^%>)zvD-fYpF4pfI{e~buCC&9%E8AM`SmVjQY@iNs)Y>${M;`%1WAN1!m@2}M|Ztf z1$M;Eu6}O=s`Tnn7BNfN>ZSWO8^oh+wHqCQWZG-K_KO5FfUw`pL@9m#b-lJ}V(<1z zP4c#>_2H9qlMm%ex*i|vlz)dXrs;pRsk>{(!B1nx4n7|Js>)y%dN35^XbbomyjV@$ z$HUO-s?c#YOzGDjXO%G&n#@cGQiTP>FhDyJo|jr|*1eD1@oxY%95%?5qeTs}yZTh+(#l{n40YN;90gAut{T_u z4K*WAnL-1^6~1C8+0#n|dd{{SAUCnv!fiZiv}FGbEB>(w-+kzZs*fq@&tvpeY??ia zn&v8@@-MhAcsA(&d2qS-Yzii+O8$Y9`NMZIg9z(-Xr|o#4I1O!7^LuVh|9Px)aPhl zd){%`c5cOpY5AGs-xmq~-0E_b!$m0bEVU7NAQL@=~CUZ+yOr0^A@(I4=iv zmAm7~Nd*QZmyy^h1}LCy_%S8Vy>%u)SD%dV&U62R8Xw z&Cw1(PFKz>-P$Q*A(gfs@MP#1w^`(#cz1D_j#@HZ{PG#dCf0F{tG6E*s@u(ok!AWD zUCkOJWgMx&4MxWPM(3>pPHESEj?7R0^a9wnv#p|H`?NHrB|Ook)pPjCit!6uC!qRm zo)$t)8qEvj?MsI#uJC~YLe1Qgtv)|xb(7<+4Ai+g9z03{a%k6HB z4&5u=Ul|$#_Xld6U_v~i>!-U@wq4vIYQ#`LddSi7>qP|m(WNJn7a7CIt7ErgtWH+& zuKQ|s*Vn8!b*~c=I|FPjHV$V$rVZVo)NZ`@&NquMNoqz01nT?=ggSh-t@NA$ouZqJzWr5N88O4|K9U*?`Q6i7svYwz#ccOoW8s8C zLJ?9qkEh`o4T#V0#IQrVc5Mqzue2K%>*8{+*;=m3QyJ+N z4^8#~UWre$_p7J^z|XRqqhq;OH5ZnUI8&I329|4++%82aw&h4L%AG1+ZRRF?$_itp zh*{VAw>gM&`!k--ac`7&3pqjwYBhh{d_bZ_Y7{Z#d+@YmmjJxD7vqXZT+`UBzhOdB zhvo#kO&Va2)CS$pOjG&k7bxwS4Y^w3X>lkhuKx+YJv{~N)sM@!PItkEi;T15CZ;M* z>&vH^IUcD6z5SkUaqEOqELGoOzOuen5>w(RPnR(p2}UzqW+j=@=r zQ5*$2mNVZyl^PQ{W2uc!=Gshsdv}t8&++^0kl{6J(~=@F zasXPWIJdm95k&PH9H4QQgTv-Hq2rc{JEVOW%*HH8z!7-v2*&3((@zD3j&=^*O__8W zFVp~t@!XYDopkZk>nE38zP88+?ziR+o1sqmc4%Pf2%~eIy1#d!NMh(=P+OWlw^$Am z%$wD(YP-jzE-&=Z(HtV=FtV%yN8MPNuwklWf+@V)KC;62)L3?%6L32$qC(+QWKzsE zGma?1wsU|-6tAu}zhwfkUC<7Ly-Kr-|1rRkChmP{cXrv9r$8cANIFQy{MG~6713^L zys0`A#bZn3duC8`q$t%uPT1%{<_r*`Tn~d59RH8Q!p*nrr8x4fd2*e#K(K0EzIcZ~ zSf8U3YP7frxChOcCff#G2Nq2!$Z@lcRJh*v96yNsI>q|=n7&!iAv3UNO=A%IQ=I*j z$zVZr&IGw(L}pML$(d8Cg{1r_q;`}UftbMG>F1d%wZv?CF}e{wc=h0(l3*eZmse67 z-Liy3iCUybtb_L!I;o(fEUS9jl4(=aBx`K@c!d&u;Gi%EMD3fhYE(nhVS>{7O!&+V zdj4{WCr;OEQNkC56`5o;IUjmh#zcfIpbd&tPoAsGdbuPalNEvqK(@W{>@=H{kt85; z2?182a)j?C`6dtyj&(E;4nTRHpXoSsl5jgEx0&)mTSGVF(>;4$?3nj4tkQw3p`%_q z-K{^h2j-%v;SG7T1`P#m2Bn8vNmk68MM|sWAV_AxCT~1nP#o_nHi&Tw0s;FcX1$66 z>G0a}RTNMNHF}p>UM?o?tRI|z8p9$@0BP4#gI<&$T7Oxv1-N8}GTT>&R;vxt>C1f( z;Xp#FUDh;!a%y=_>$o8RK}*pWmvzT;X*=~-MY0huYfeKv)@V=dKEu5&?$~YF&lcEM zWWHCuNBVysI{m7jMz3BZ_m1oYXu#5aPx6y%FGZotoWs4YG>*S%8Pv(x$PGQmu?H(k zzq2rgD&)R&)qYR6t(u)y_3INiEyvn@?HyMM!F3rQKNC!yEOnUVY6X)jek~B}&6>Ht zOouOEMXd7{&HboFamP7iN`cR1Se6IhwU|g<=mtsnJt{nZ`=Q+9&RbqJi&|36v86kV zUOtO#kXH`L7no)qFb>#EWC1H@@BU0irOMOP*!}y^EbS>9dTTAK!H+mK{N4iYug`tl zyN=C1>{4Mt7Y91;bh|`>e6AE~FlCnjvU!tR;FIIzea*ozwrcmMkGWG`B&W0IrATEc z^WB}+{c+t${0?=qAXw8rDigA3vrxjSG80H+_ zTTbt97d)cZ1CD8wzkQFgK{@`{+_L@vP4%`Lpq8Cx-gOR82g!PIRbB)3WK-ugk0U|Y zwT+Q6R{OM40~O-e9w&7730tvlSDoz`;mASMHb>XptE%~U9VFs!0&C!$>spm{`cm+y z?x)LcS5)vZ>aD`m;nuC>*nUv>p?ys$ky_Q2B>DIh`XznI609r;+z6$))JXxD_)^II zG~#_j1y+NjqY*iHub_A&RbpY7-V4yb9t;|Y@=h<3i5K!D?DJ(=6})5w$xCa6Qpl+* z0}0;?h4HrmA!xb=h(F*k8N+tk;ggAd3TJn2OFqYFwppO_)k^rDnyv@dZn#$`;Ao>Z z{N}n^CIb809+^qyhkFyFb@&1H*CfpQZ)^I7dlOJ12FbmRSDi;8MzePY8ROc9^BL3J zv%Ky~9SL6_Au{Bo9c0EB-+?cN9-zBQoiwPi~qc2`ZW#Tqbn?_^; z2PV|+jBC3Pw3kCELfk>ihAUHalqLjO4QL&14(Iva^;FG`Bkv6^j2drO(*_IRoX&8J z4LfBlC&2)DJ(=U2!zH!tXr6+^IQRTvsWRA`6oI&qh~chm&C$25UAWs2679BUoA=A} z;Z*9aw|Vo68K#vjZ*gOrHU(Rl%;bfQmwubf9#80{V;;QvDReT~eu2=mDq2>B(!D)G z;u)O#dmVH$GP23YJhb>nKIkvNYx>JAuE>}1=Yr}c48ke!WR1ZS!1xu))FS{WQ z=1+N`R89#XuBuAmRtY!V^s`Vcr+zM}Bi!C8r!=ZNt z0slJ&H((d0qsPhYJ73lMwcUKVvje~e-7`Zt8cy5Wv-YPyzUA&_UR`ZWmPPJ=!VAk+ z8ePhMpl#jsYBe)qPlM%-t7CzI1xwghl2tBJ7X+YSo6S+z`rIarK6@%r?9&8*VxzB& z$W6+x_&dOJw=a%}(FdaUT;@8dzNEPzFNBUf0K*Cn6}gGzimEW`UH(7;xlRL*({?&a zVAD&R_0w{lGI28Yo4(TxaFnefv#*F&sVZ zxvu~wuw_1L!&Z5D)JEycV=7pR7{^Gcgk>yQ994e8o7j&}f+k*ObK>bCj_TAXa`}Xr zk;#awA0{VFyFM_R>M7I5QKSxF6ao!cwe*4j*FsLOe9Iir#mea0x_^VNc5x?8IYdz2WwbFXG8Ek>9(HhTFB%;)+w)(dVn_4R+p0N>Z95 z++tGzG`}=D%>`diU6;xng`5yqE3KO4eEnI2LF`fmAT6a>>vcca3GPpXrCAl%ZGDWr z)Q4US42dVN_1KToY7h&OZUC-qu@d#1Ken-_I9iEm?Tb8w_$yxNIY9{+MjH%Fnt?JpK-*6}0$oI1Lj{z~=6rPQJA8 zf^1FOyQF=-ib&B#cM!`>(h+$K2iLla z4DD%FxU?TZ(B|(yq+X{98`W1K(nY4&cN~1IP!70+153+zR0z*Y7Pkd4GDD3BubCTb zta2;Tnl8AjW>vHn^-c2`j`wNYs=y{6 z1+kn0qyBB9*}Ih1`aYJaF5_iKf_FC;LIO5Rt#RWS48XB}aSHwd^$Go|=?RNl+T8*} z5AuCB2o}1}9fxk9;(Kof8G5YlS_p0C4py+{rX7#NcL1fgGoQ*y6Fkg zgPvI7(yO>O(SFGFrru5vrJXZ@&{;+@Sr&l3r>9$BA`ZoT0?~D%64StO8M*i9e50Ub zg;xuHge$7fGtQVt=WxEbS=PbA*vVZicXkkxMq!YDc%hdMY0YgYow}=KE-E1~`97uc z1WH`nV-54v6mf_oV8f&>N#l&@T4>wU)0klUJx~?yrNq!_nZ`RdBY4X6~ZwA12Fv#;Ap}YU)4k%o9Y+EJL;HCJF_nW3F4VO z==6x-eWViqdG5m;Z3NhNQuP9`i4*rFPIM&z!MQnD3PXlo8d4J4DF?i$1$5w2$0dCgizBpf!kM zFV3}{U^WXN0|qBuvOthx_-zjzp=&m~w9b7-nKbL`U^!WPA2*tGkKn%KIwyY1x@Bf^ zgemjC0evtDbBsl&{A(e&YqDkA3~w6C_Vl$01Xdoq$yy0jjJD>ngH7X}ae0fFiEn{xjrdUild*xxomF62?R>XFF~*qpB?xROQoX|cnmMho z_w~=Z4M~ftZ$3mp(?6I}=4@3R9#LFAMMxeCY~*D#uL07}pJ%EQk`^PVs$GRga|irJ zE8!1`PHqr)?5*92ih&VdR+!_`7x8*P6O4W5gIZ@iAHJS@t;)nsMh=s%saM2M_Uszh zdw44fFl^Oic+bKX8Cv83m`VkZ906I320#$Ut(WN`LTAS6()JA4eu`)1pQ}v*@GPd? zz>H3bw*AP}mK%26SpDso++XJ_$9A-7xC+&03gx83Rd=Hof^90S zjWM8Ji)YjzosA{uJAqQ!(54~hYlj&=qbDUsm#FqA+^ zsOg!ue<7f~re-VY7}2ZIp&i4qP16yM+>2y4Jq8@)a{QTWoeoyN3@(lPrFHTv*KtXz@Tyhd&twKEGbFw zf-K>%^OVOYvL|uhH}Rrax}Z>k<0fFh^pNfY%bxL7yGIb$R}R#eEBoX3hkZgdRdxkM z)i3!-Z=mS_KU|1^)=g4UQ?&{I#*?D%u|z;T$q9c+^lcdIjFH93cahbga#T@j>YQ(2 z09O3m$2aKc>SR?zjgx19qwk3vw%GDOg>wMVhI2jW3)Y73O;)xOaI~eVGA%}&UP!5~ zYXHc9?fMiUXGrZjX)q3EZ9X$RY>)Ed1g!bYJ3e>PJ!Y3^ENvAI)Ig^s&@7lL?-ie4 z55A+-QFB%4<^f++-Lj5p-6-h< zd%A^TbFd|6Dxh&eKDp#*4-hD-2D?qw2@7ok`QB6=v?5GWFMSXKe7wGD1lGjC=mVg+ zFTd+F$^uErV;NW$gZ!2>EUBV8P3$^bSBOdH{V>Amq{W%Wr%LE{J-$bAdCyBC-G_-U zR_6T)xP1UOi&i4c>u2}nj>Yi^^lC-Zd9U``S=jngYHG233`I43o_4dZ-rekNng4_$ zJL&ZyGmOWxDFew3THh%pXfdr1d~&}mT=gFOQE}->c&vc=-aHQ8gm}U=rGZDx8nE6( zmb%v94#ZB^ISCRnSFafk0l?4KmanqH`Ok25QRd6@3V6MTQhFCL+c2(EZ6X@@X9hXp z!4m@hwTx#havzAPT9Yu&fczdM(8mj^Jom!Yk-vuvD;Fh+;<`T!=kPoiwFA7nNuw|> zfOMYBw>iM{=V_xT#~)hRA)8B{mUEc^mw1+bvN$c)Bu)#(fGRKR=qz_AvJx-@F&p+U zfTuGiP^aN;7Et5g67;27Q%Bfe`8u?-#UOcXXKJPQA3Y%l?|Qh7si<{I*Ke7&1KM}w z8X%MB$#l!ax|T@{W37L#q^h?S4%)>QVHO`5-2!|K5qQeHJ_VWF-Beb zVUrHPoU!%}`j!Nf-I_hJ0cYvi0glFeo;D*c6Iexb8cz`K^Ml3s>(AGb2z3ErKoy&s zi;nHj2wDXaahBJ+0|L8!9UXM)4915kM&N1v>j&Y~X^y`;@B|X}Z5Nh!P6eIB8x2&V zjOqu`4&n_c=dbscmnET|T}Ib4wO^F%gczyW^9P%$)=Rf!GaCiB!#2Bp`zU2yCWw)b z;ZSF55Ol&*`{JyhOYM4@`q#-q0^C8|V~g&XH?oFSC+&p(Sd`L<8q5Sk6t0|W*a^M! z@H1e{l6~Q9(<6?4Z23W@1=8J-$@) zllmf*hiEzT{&KBx5+DJWDhK0z#sIWkSPV1#8LgY(hP1A#cEd1|bq&VY4Gnj>R2}i5 zAU%gbl57$+?V(}~^LX^hIO4rJ#l*?}Hz!3tT~NR#TOl#E4UkkK5}Q<#4$U(uY)b1T7_bAmDpWxnSpypKVD#-qfrA0v#WeL`$fXI7l4X>&lCf>pTIfth3@b{ zBz*mPJ{`r{A$xf;QmyisQPlpJ^GQe1sX*WNekR`WWJr#CN<{CJ%_HR7hO4bH);|5s zNcRI}$2aOm^-n|`lJD4-A*BcQkx;F)H-cI2pP_ur8{fNi`##{o0V|8T{=VgqZVeF$ zzJ1&Po&nA4y~+0u4v9YacfGc&)Hs2o{u%e8`s)&d_8^s%bEzTVm>egQ5Wvs&iM-H# z^jTZ>gT&X;laYruv8Da@0+8ZE!lSS37sG!6j>{}ca>SVmu=fKT11YB*HA3LfGUhOU z4-PYVvzOYH?c{LgimBxS6k8f;^1Yq7YX~cF6 z$^~p@))g`fY~Ns%!eiQLC^eRJM}x+?_KPh*I=TEQ8{lRLPXn1hnebdf7^Pt>)%f!$ z_&7-fr9iP_G3Co}3O(p-!IT#f>gFSv9S zd&qDyugxN@T$ZuRcgy{VC_E&~U@>BCt(+!u8o?0bxhTrQ&GbA8rCOs#RWy_HJwT!wb`%GclzVR=K)yKa8aGKPNmDDlB@%l$}W z@jr&~huYsL<^@A!@fM637^UPi24=abu9C&*wqtBqx}zuQaT+dhwd59LdKu6O`v&B= zuryrmG{M?v0EnewY~?V`AXDr zG-WB{t(0ODnpP~q;ul_tPTYK^Ap(MyJEa}|HyBZcpUMePGGVzk4o+#;xL_ZQAPoWm zmLwH{R|VgtuwTs@0cZQoCr$?Ee`r`|*Pkca6i0QOF~?J>(~w<4rN^Wjfn|ChXo7}W z0Gc&sD_Pp7LzsfVeII!kyz3Y`^n=NFUDND`P_p)d;5t`Q)5BGM@Q4kRAj)eogmI?Q zVuT8D)}R`3$edcOQw?B7)~C~(C3U;hmqNjmB2C4r|BJ7)fQqtx*S&;;uAf=Gh` z(x`w)8c26a4c#yx-6Ab12uR1k01`ukbk`u=okI*WoR@v}r{CH8zs_1SYYi;ojpx0e z`?;U{`d!pI_BjtHpZ#*yROvFp@h){v-rdUpFM0?&oQ2u>Hkj4vcO5a$h>1_f7B$Fi zPs5#yE#?qUTLs4iK_0I3&4T-fkR$zehk5RKhqF^}vM$istnN8H>FjDp9Z4%uMz=Ek z3fbx~=yf%A-4i1cbwmiHo0Yob*OlU}8Gxie7DbGDwC_$iQgChNQ3$*PB~D?|EJ%jS zSU}90B)207=>NOQCoQiDHn&lEb4NgpSFBIS708UV8-LNC7AG0xWt{%Z$$KsVtX>kG zG%q20;y(oKcP;x|p(oWRT;{Wu*G2Vjl|#F?-*M6H%w?dVZKDg(+LZGJNv?US4T!G* zAZnSOjW{nr8>&}~MYW$)^vVk#uIHVU3+80w+@|w`Gm_0^KmJdPqQ6^9Lk`#nDs0!u zK31)Q`Qm5qQ{t2#)@4*N`K&F zCrbM4-IEx>D&_8tsi>Z+1aORnfmPBQ|1C18uK{!2yA^0WLwBcPYWe#xy;U2M;oH)EmZDcH7(UQ znE#{f>c(l|s|Axw{65{MyJ|^>AucXm$nNiSWOr7RW(;(?2Ob|x{L@wKjOQh9?r52PRn2hNj$y@SmCq*ARz0@2Rd9&gfYb2 ziZrtO&25rCOc+EaT&|zuV`VYffBxA;f-#X&(RQ9Rw7+$Nrq^G7z}4e=V5ELLFIhbw&C5#j?$7^|#&(1=HAo*H@tE`CzQZ#Q zo)$dx)wmmiz(sF}$fk18;6jyh5US{-kBr~M;|KTEBp(~P#!br=Yj>i5xS<|IP+G3Y{sKG9I03()1v?=aB{+hY}8%^;FM@shGxr`X=}DoMRf z`oF6a%55i~xIT<8bQV|n?oB(hW7H(H5wy~9@ONf}eiBnu<2xjB_!Z<>yxa&D%zh#{lUlv8;kKnL zZ1T_iGCyUI?BENopK481<(uofyz{j4EJaUeK*rFp{eue2rl&TsnJyj4ErYaH(?jxq zPwN=Gqhl$C}a0U=0;sK*MGdwJ9DKL~+|?v_0lwGETr#y_y>U!HkAwN|Yf#<{L> zw*VTVH(x=nLc512n-?46{wa7GEr^jDygd=3RlZuzDPMDtV4OR;0n5G@KI7sWwG}M zw)hy)a>-&m!UuK&e70cz&j>0M*SE52+Yb;J7w6x;Y-dW0WUO)DYtAj+3YuY0WIk-S zY-?563hXkWkUK&61d|@?Zqkg>Rk+a1-fFDusr6iG%dHIR@P6i{4vNW|10^n#>*>c>YMDP*O&U8=niUbEidWA9l@jmKEDtue5gz@R z+lOC@ku?Jo8=*kG4$UdVWj7a8x1-uMt;3mQERdE@DQvP7x$i`8$~iE*KfIhG_0XkHGSM+HBz6Oy3ytEtv(26cYAUL1y3a{6nvBzbH_cP zo7QsM)}(jL%CsX_IXOqRA_Ys2tqJ+Id`?8?H9UN`qz!F6@%OPzm-Tb~l%h~zKAsQb zQwL8;J%Sqi*Jx`)zh<~&8!p|8-=0LI-fO!LG))j%sq4Js{;Z+W@T2wB$D~k1KlZGJ z3}KrFJ#G#;lp9-z((lpi5mj>JpebRv)J`guSu%l&>c4b2e3)o+k(~f~M99M@hgh>62 zkwl|v0roCg%eZKz^9Ht!e z0WQ^ag@(Ya5~Q5gPBdFsmf~y9VPv;yCkALS52`Kpd!|0G-!gC!QSDf8@;j44#1xatNTN%z(Z}^U<%~gbL zuEz|}0K2S2sq8IPg6eks_-p2Nm%!`RHmV9J^XF>wBCf(1RVf%K^A+U|Z$vT4pHVr$ zVu*OYIuD+~GCQTBm38KZf;BVIRX3;ldq*(fjtD<1q^^NU=_M#bD|uZd*pX!jgdMIT zCHAhZKx@v!BSC)%l>C$Pn0sL&;;o30ZCn&n6y{O(A@FkLpSGz8Tpa!FPeRi z`vrcSBMnq;j(NevM`jfdYs#Vs~3)GkJrn4nnSd@ir?W*y$upz{k?L)N#Zl$%bN-Rou^8;AX#Pk@>9gU@ zHWJCeOqk(`U^+E9&lvY~1rY(kr1`j24&R?~F%2l;MGEH8<>wTYjj@<&C;o>r$N(@Q zgow!);3Y6s2tXBp;NII~5jUlDHH^-72a)#=3xU8F2+h$U<9T0e=ChSQH&`^xZ~Asc z<4fc%TZn;=U2;Wpr(+jf3Q^S{?9EmCIa^{k6WrhYb@B% zwEEP(O}9uPyJwghE*J?Z?JljwL1pKI2renS6ZGAfyX!T7 zBL_QKd8U^To}Bc>JQ#G1P3E38EmboM1{<$y{w9xw*UToSzgTX&TZ@B<7+l$PJ5Uo( zcnRJrLb#1Q%Y_27^CC+Y+7p+d22J5ZBS_P6CrIs)UAUmk*Aye>l}Dj1ET;Wov#!&4 zKsfj&5Zz0~d+}zxE2JiuAdFk`ZAEqiX`An3Jg>hIngtNGV#(oIh^9V$4$mJ)s0OTt z9OuA`A1OV-qb$@r7#;{W3EclI{TE)r@FFW?9xR1VrX1WD=lKY1I3-nX(m;P3&PEw? zMMd;TvTm*MMKZ&bh`va-4LA(l?%ZE>{oLr1(m#8erRrasA{;Sz!;*h~zlW+aIOkz=Ygf(`wroS zwolFj7~KPYV50f&b>7fN?7}N_{wdYmrOHWC8bZE2Xaph8d6SaICmAb-;G_!oEetEG zA_LfG$TN&{G?Y;Vo4fl}aj$njDq=QaX^-DY4Jz^6p4GRuflTaFS8U@`3AN;C%pck? z&)sheHN&EDpJr}Rl#DjU6C_H_5Go}7(NA}@9Fc1#d9unbOd2f{=p{*zxrVS9tT2rD zxam#XM9oa7FUjDvl+_{XQg>M7E2fgq`zNGC-#3Ix&%>E2sxfTJmHO5!OHgq&S3nJJ zVCz@mSN_|`2*4N`w)=Vz~nWF z&7zZ(|AE5+R(iJtWp1NUU<3N(9@g$3!?bgt_2f_u&{7r=3iq zJziSn{gUm_sF(wF-c{=>77xleKltW5Xw296_wipRvrIve?GUqk?-;d0=09C^o5Rnh z{4*|-o1RAnc}Ac@K44Wm*x)@8B+0I{<>B5=pVX`U4IF<`uoA)Rm$o}vbTpk%cCd{x z6qRtw&NLZkDTnk?xuoz%vo{~t{Uk7vKGiI_W5y(>)qvFj+dHp!uOHresT-DgVKT-? z_7#3*ft4HNZm7VF>ACcT-m|us+SQ@Qvo*k@nc&$BRP{AU9_N)q#Ht`=uf=EEV+`^= zsxkGcZNcen+}!ue`Bj3CNX}u-dSQUzI$M8r!FvV1{hvk(Eghg0<>9Dp4^G z4r~{{%qqiwKjJ-#E)Lj-Cs>c_w+dOMmfE|*A8hn+7myhTq=Qj5ELKP{AL<8up~+As zL#{D7Dk=A=1!FY5+JQyF5q_%=mZwYV=l<_XxJ+wC9vv5L0Rc~R7Uw@i*iuj~$qBjN zkNSImaPKbcgJ-z}g^ZESJK<}<3K?&yLk&DFRq_airF!?N!hb)c<{(VAS~bu&^wLvu zat%Y?;XICRF5ieuwuW|$l5#1_pXwuEs{~c@p>5TlJ*Hj+k7y1p z6d1CX=94^^&VTAY8^dv_9AQXJ6CgvMHRABByHk=-HiO#yGyn0L*>}}IP~W+^E?w>p zJexHceIFFO{I4}SD}GfE`c*0TE|N79b-az-7pxC5$1kA(z3-H}6G;!c)?_BiXm6NC zT>FggWX>fH2JH9e8nSjwe6V?8w#(c37gw|K0Mi_N;FigA0TeF$rv!^&&2f2mmgIJnb zqmb5Gdupr2beN~~r61-;)|raR&hl&tyL2-*sDw|bv;@F3!Kg_n*Hdkyi*7S}WxP1; zDPcgYaPRByaf9RO1w*Xovq3qUgf;aJq~E5$d69Ms?>m+)cx#eYd$>hm5zQOZkwo|| zvNK`GI`TsTBuYQ#n0?>X{8z<0)a=v6F;_g_dZgE@tG52XuZ7 zHG=^T)ZH=h3k*0InYWLY79t-}j?ag48c0IE{5{b}m?c$G4JC_*t5EQl)Saq8!SI8H_QPNsfBOyyPuOmu5S&E!v_W{hcWnEZ4Ii!Q)R|8$zvn%D ziwb5rvj48nTogN-*`SFjIps+@_(y6P$&1xLM<*I~i#r$%k?Nx@sQ3QLvu1d$*{D1l z97FT?fCCEtgwe*VE%Fed+H~~7b$qw1Hu~}}dw>hG0%asTJ}l6~Z~nC%fx8=+1smEk zG~C{aQDeMQQgD6lX|W^qfFzEgZ?2_jQ?`i=Es|IP8`(X3L&r7mK0X1{)Hk{EAqVE) zk_UWnF4@+W&n7rxkM#2cQzp@RRXB94;XzJWRWj|tv|xH_oJDw`<)tQ@B-LKB)V^s; zFG;!Nm&V44^#xQ4@j$-mV>^$o$`oD$6^_4=w+UPSE86hwvr>XdKzVIZm3-e&YVBM( zU(YZ}JCs1m6aE31JY8ccbZE?z&X=}%=A~NKQmMb13NOTx=#b5k+y$n7={ysiyHm2} zJ?@UT%~Gbj(lgKtSteI2SN%Pw(39V( z1fQF6!A;91ZA(+KoGkF>0Q-m_%UM-(PX6=@hg+@65-%&eK5+}b{LXYlL>1omR|}XW zf!}~<1fPp&VRAt)9EYSu8~kcIv!Gx~iu2Sq0hcR@&OA{_Uq~55%e?LFBBb331nuv0 zKbVnfO4pV9V&+iuY!xZ@9s(*pct`|QA z`d8t;248<78ImefIU8`_9A zuZv3R5P;Jb8G-K?g24MdF$6sEOp|p}=*m{jMzyZ*-p7$KBwO^`dXXUUdCW34TfsB2`hQJR4`cXyL9ueR76dQ_P1NGB<`qdCtHTCOoPA%ceZ=XoxoytSgj&fRaJQihV}^-->eqrP3cXHr*lkb75$B*+TA=F|ln zSEd=JVqyXhlTK#{=T7!7uaN^jr|vC!xKyMalq^n5yz18x-hDLu6WJ*5dgl)Z5*k@MDPEWi#5C|L^*eL3W{yMCua_#&RnitEG;yrRh~;9R>j#6xM*zT3e-l z@R6JZ*^Dmt97Z3j6I`k;y~(+n8mmM+yd*h(nd%dlBFHUx-EUm1j0lU-Pc*1Oo8g%D z&1q^!_%xQdHVyd0YJ{~k0GDNn|C&iAiOLNsuNPZ;JF%RH7&m_ZK2W;kzOwN%iV0CH z`(~PC-xuIU5?e|T@Te`Npiy5SQexup*%fmj%`&*y0PgxIGr%_fG3=n0_wGMS#pYWN z4w5u{SNjjo&jx*IQ6wzBf&?(w^t{wMRQD8)l~Zl0csdW}HBP!h=eR7MWoqd9n1S1q zwD%^@=0QTZ%6FI6+1svU$)SrhJ4|5ID`ZF_aSXMw4$FLExr)g4?(#?`O&22OVKZ*q z@(E#1`ltqiD&jA-bAtIHs|HU235UsD2@K+}ls5c5X zF~`Ug0#nn zTOy?9JOi&7(XKKUtOTvY9-CYxKJ8wIh95Bw&SEwlrOiAuLE=g+0S_LBu4)(~K zD$?QHY7fuRlKUqb_+u#e!934pwuk1Wl5d@(I!WA9=E0Kpt*9QE%?z4y12wJSL#o%} zcRv_>prk{yiE;kAcA%ayb~z@S76Fs}a*8=5{VkM?J31vSl%lMg7(I$l$B^Q#>j*-~J2X%nQ<>6}l=l~jxT<@Oc2GGt1gr^rJPo;~Bw3t&H8Fq) zn;PC6L^FW-@`ZTamM-Lyni@6W z+(hcG(;kV6iwC8+)8!ZJ%1ivKAQs`5LT7VV7{E7O&Z4Co?;^YCUSI4miRl(U+%37> z<$dv-v$$r}D~=w^`Y!L*=qIEOmKF&+r@Psco^%%mz;3RAD)F5ss51hl2oC5jBhcpSx~&){I> zA*h@Q4^~<2ber@n1#o&hr2d&@sJpR6(Pt#EeTf#eS19yx@;DkL|6LL)<^G0@hp!JE zsvOad#-kGWpfkhh-WtzF&=hBWzb`S$pVyY5;clv=W!7MEJKDddn!zJJo(cJM9&OzD z&n0HYOn>Qz_%zL1&ULiGTLJ{?CoKp3CHWZ0E-p5Z+iE4Ok1(R7WG)`msXvRIA!75I zZ>cXs@i;`j{CW!t7TdIWuY+?3Luut3Cg-07>OXCT15q6-pxH*y#LJML_zytoPeS?s ze8{52z=v1kap?Y2toe7dz@N`qC3vr`;q zv_7!V67U;P9q0?GFb-1bySMlpwBWk(h;~7^w;$m^_IkM>k*BdX8_hFfN8PNy<01LA zhdPmNfa+1FqvuTinsprz6?Q~X^S4HWb9)$kr;GqmcZL&{fnyj$-0Q;?-hT>7{~9MH zZ1!9y#hLoPx5I;)q&YY%N!)-gc9}uZpX1|iJec{M)|A`;&`KR}fP+u+iLU3bovuLu z-iOw@_)Vf}<7GR55F++j(sEOf+9rpjm!rnZe8(Hl_UdWy2i*kM6ZJhm)&QoJwM?iD zdAriOwZ~q5bf?|`3S}0Md++9{q;DZz(}n@5o(0mR%XVe2&cf=8M8`|q3WD&Q)YCn# zvtM8-ehh)IA#*yQ?Wj0a$oA`vxk zXY%Lh#_Rfe?No$#tt^K4fbkga547wrK{y?y8h7&T0A@;Wf}6ohUqGx%A9Fhh@p=iI z>zI;A%h~D@!KU zq9xEM<(LL^9(JizqA$1W3(jUuAo|y5#gJJ5@v``+$^n63^xDI}-)R3O&G&K>5U$TV zgNzY8uo}3lnAql5^~|R3F7wuCCJ?)~!ODE5$IK!8Ru@S&qTHx$Rtq2j0m!YKYv8vc zmuo^&O$LhbrUO#%((_$;2o2jdo=({9x=c6_y!f0EjB%U>84Q{issnv+UZnbTAv9W% zN5E5?MOU$bS2JZC@emxr1APQNtl2Q8!Dvb`TknrRIbBieJaNuQ_nPzA`;imvIO#xI zwgkX|(7=-j&>1d%>Nx&-IQvw?U>VV_X-{LvVn5+N(+HqZ_H^bi6LqW#a%WR4GE#^~ zp#M|>{~f??W9X|ME1Uog-|(iIX;+;wg2y-?xGXh<&3Y(mF5I^Wr9MtR7JARC5;#P~jTJHVT0 za!FjQdjL{D3%HSQl>Xd$tk_G(Q%%o=Z`9zqG|>~W*cVghz&!6Z@3XBiQs(d+NmtMw z&RIP4`O$0=Dn>Qrvy{d5@y9PWo!5XKPHzu@ZaCg3oVnxLp^h}!HFLhbza5XcUCFa! z5u8!~=@w*23#v!1O*ZkC0W22yrIR?I2brzctS|=to{RAB6Y#I%?cp5x`nq!Lz2W(b zX#CMM!>(LAj<@evE`MD}DV&7O1J4`4kK%Q{c520kHt;9{ZmMk#qf7nJVfLA`LJ zXM?TUTP_S1WBDGX1u0LS4slY_yWaven*$t8*><0tO03B>O z#%id8%D`q$N$^K~?;(Suv$(5w89n>bk%YhV7`w7#B+2hTF>gnnP$T{x>_tNiV znE;&Wk;kjX=yj=U{$U%yOUni5>^4xKaNP*0SQD7+U0Y^V!6~M&+`Uwke$G-q zt-F`gtkwI92O?>i-iHs9OgYwDFMiS8_Aan~xV~PZapx2*AtBM3?(TA& z^kHWkG8wN449~xRNSFCXVN_jH`e-XeMz?WUam{zI}1W=uWY>k`XW>UA=Am zc}Kt3s(!0*|2=Pmlck;GJALjOBbd!04FXzhp1xQ+GpNjVqs>yGGF6kq|VbiO7n zdq2L{CzAGQj}L=l6TS0LOSko>WkoWtZ4o{PhTY&8roF89&yS`p#0MKp=r(Mc*MDiD z_;hB?OR9Fkrka-X^*6|o=--~(B^njw_P!s)CzlE*M$tER(;tAOs+3^>gg#uwA*y?g z3;EXP&60sM+O7E9e?$LSCb_+LBWtodw=bZc>;79f|Ca_8L)MR0o_KoEu3_E=K-n}u zJuuEwjbad+D5>bAWqZ#XZSBc3uC)X70uzsx{;=2u=zug5)*1JYYfYkg#+$>BElsZh z@k>-f{ci-kj=^oVB9`m&K|dgu0$n7IveZ4{art3;Fel8I3}iH`XhaRHE;mV^HVz9l zv+?b%ssyTvq5fs2`$eW^526@4!alS7;W_g}>;7wq@iV97Xg7Zm#X4c0l@9S*edXl= z&h)4I&PJYmYq{CUGpuqB`VDRED(8#xOxpFrorJ5rfEtahP~vjKWUr!&sZHk%O6UCx zu}5sz$C+iC9!Mwi3 z>bWIRY(ix|=_WQO@f}i&@%M`j&Lw`Gy!!`!6)$@ZbR$WXYE((Ui->V=Zmk{ zK6{I8XdO$QnR2cSjMLa9a$8!@ag68U1fOs{E7=2dtMQ;iZcqAlm*RO`@~Z0HrmG{x zexPa&V(jj@v0pz1$f!kfVPScsYm1aTx<6*~lv7K$eTk^~q`99r0Nl|+BALu)ofX^% zYMHO%%hSoKzrShLe^p-Mnee8x8C#D#E|IF_0E@YOkN!4@uvvE{jjlMrI^k zQFT$1++aS8DhU2jAui5+!!O?zzD5l^mqP_^bu!IxQ$7EAh#X9)Eb&pu{wi=mB&dbf zO%foQ_yLNhvriisAu+&HRA47%OY)&STp1XVN14w~%nVFSil+0jIVOS|pU-HKYq;Z< zIpfM`9kf|6eAwvF!JE(n63sQBh5IDX&Z}X_P1KV&{W*F$O-h5(y7n54>^IbUdD20p z{{-|arn4tue#=^#S~h5!!g~L)O2dib{~AcrnAOV7TW$z317E&jvI#6-syB44k28W$ z=3@N(N0cdeVJ?MN#G<4xca?=cX1p8xM7-?AH(b$_{HR0Q!l3WE)w_}2{CR4@fM3H; zPfF*c_tF*zUH-dG#?KZ2(ug2TAtOcts><@xHguabdr^&T`$Ms&5wH@@cCG4~d-kE^ zApmInxrStd2}e+J3ktA>Q^UW8w2mu8mJksIogCR zls&d!WZ-zy>WUNkgc0vUcay>LYo^}w2-vESiiY!Ph#YH(1byU+G-*9z#u}BcI0J1J z>SI2qdpFyCg2_yut>pBwLp@fNI^m7L)KG)scIwDhdrQ9j@rWMB~lC^S;PM9|b{i&{Hp;?B-Ts2)(9p{$zS74Ff z*_*=t0XM*Xy<#!L(ey`_RWV+RsUk@Qidg6MBiq+P){W1Cp;hpmiD)PaUQ)EOk!XAVgiB z37W`t>AaX2@d1d8*u~5ShkCzU>P45mxpc zg{E%7k)+UXs?vRolHRo*0D87BPvD(zdnlPz_E`W8(~k+!snQS*&gkxW9~j zrZ&Z`cVP>Bv80+<&Ry5}a<@nPwRcl1g%ff5?PEOy-&HfcX>wM|W7GGR*$n~*r{QHp z=J`vf{!m*uPIkbCu+Qa5vyCcM<%*W*qjuiDh9G?0?JeP3bMY4E{vPp;>D;hz zm!|G$ktICAwLE_Fft~3!QZjwsgwA>Z;d}1AGCyWbF=ImJf*WgBNXVR3sVchpy*RYx z`11=Aez!T_djIs5N9+nI0cOmtyjE>YN*|kT+9-AGXzp=M0G&+IcUzy|K4hSU@B_SG zU}quqD5VOr-cEe^dU~(cL;kq+m^T^v%{9;VaVxY|nQ1kcfbhIFOV9>YjNdAQmeic(Qj zFr_Otj7#bD87?S$_mM_B4&5P3@Tscty|LIHhnR!K*KFT7bYAAV8V7 z5eZj?G=iosHoa^Nela=zXdF2s0&$G$nbTVA2-FMuyvq)i84J|JtC!CG3HXtwBsZqO zQeMm@a>Lx18;47Dgar>&v0Q>r2n1eGfi<5T0ok>1ewyR!2jpP-51*^%(N2rDq2H6q z2!&sndt$NER!MPDj$wUl2>-IHixv(&pmi;W1;PsLlRuJ#T&4=|6Og%@Ok`3l9ClsX z-Z%>@a@l1}>VPC@Zuk8js6vI5jeI3IYui1))8|%YB|NNBMtRJm)7w+`1KiO1Ddm`N z`AylKYY@>UIdr0} zu6KuBaVqi3*!;W8kI+Z4P-^x0&e&}_Hfmyu`hotJ?Q`}yMEycKptwoO0ZJVkqu_Kg zE(V59hX*+$GA=kz%-=>>PBi%-r5#JOtJ{rSl6Ung%cDH8@##|N%sys5TWYqk=NiMi ze|)3$9t=&1O<@{%Pma&ZL-!3)em_qpIm%H8gb?eAkq}ajJZpRU!@z)wv>XU{E~z#> zHe72`M=7`brN9J(S%K`$;2l6vdbkIr93EO~gZglosJ>h6@&W`$oG z%+1m`ZFARz`l0d~_M8e%S}dFw@sklPmRFtD69}@^!pbezV>4Jc`qZEzlhqpBC7V}t<#rKIG;m(Q}W|q zt64`{wvUrCe>&1b=7jB|b5 zbAR+%5*TLBxVMcplp_~I=Cc&a+J95+nqZepC{}H5@{qgT?y4=F5P7~`t48-au{^2| z`O50scWjQ77csUPDhT9(2al^Dccjbah^)aGuh0|%4gwueb?w&7qi6Wl?vLgvkKX23 z4m`Wci-T5^zCJa72nrIR)O^p(EoKK56sxfTAyhr5J5oBR` z)$*PDq_}>s3GV&SJP1^;cfwWCdTSfwjkSghSgpT8nla}ne$1pq8!BMHqiw_JyFzxn zrUTk~ppG~0iz}hxf9L!l(srDkr(tNEy?xDfQlj2!h$p>%!%aFfnd7ou|L_!F!>YwX zdrVGDVH@@})R$rc+#@`brciRlT_fJ&zCxWh_<|lfFGIqAcEoAU&)U1+=yAN(8U7aF zUfCPA-v@VZK!OTKX@3oxk<)gbU7wb9J#oC=kbiFl6o^x1e*1HL-Uijm+@4D@UO%&| z<9qomJ%}rcPh$qn2e+#)K`;~p^%W&Ug?u*pEfOqd%S4B5664xsFe)pQaGTJX170)# zlhyomul~P!<`-35`d2VB{B{YmE|LuXqUOy@l;HMHY8pu z^E{KGM`8);QIK@E3?t~$pwu}+;-;LWMP&pSE~gD_bv@6p7SKf)#OrT}#I5Tu>9 zolC3taZ<*3`TeT!5oa8th+EAD63IDWK8vHAzK z_)5j}Zj&O_b`_?FcNr)SbcF0nK78*xGAn&XZg7w-G%PeLrE#pzz)k=5B<4AfR;!SJ z?#lq)_dgz_cNONSu~>NXwY@Ca(oXQGE^6=v_BXVaegl$mBFc=2ZRQ8WbVBcMd%jmK z?VwM6nxHi$P$>XLUwu-r0Tz)s;2&0@?iG4OP_h~{J&?rpU2=Zo-d>7)D`Xuf5#9@w zNpgK2476svIizqRblD{q7qQx|OXj<{nnHx#)@fT3m|1U@!D>WjT4R6c2jQ_Y6!a%) zW;ju6DSd6LHd;C+KXqXgqYh>wy!w2Oq{pEha%eS=vGG`tn&D|YB|}BoXXYB9!VzRX z6j+40fiFC7pf}FnJ)#r84ysG&K07^_Ue8>;&*)P~pOITNSlOe|w)->wD4_>J&$9!b zwyhW1@<;L3GxmI(1ilnkw4HQ$sQYX;2>4!Od|MofH`PLKQ$BYMl7?tSC;is%Sxh-W zTV%or!iINes^9S?%i1WHYrh3BA9*waD@v+7?LXgjh$x{0^Gw*eE;CC|i@WVD#wT20 zk$OEVsmjHoWjbp&ErdHc_+X*M-_-Yf5jVX#EFk}C{(3VzeF6)xv0%?T4ddCPTj4gt z5$V~q_;DFH_L|41wUcUJ2b%;&uzRWM0cYWR*l9FUXWG|G0(B^UthX!|^&|>V<-a$p z@>t%QE~27*;PU<5v+IjNFbirRLqhCGgqRW7Km585I21g{XG;65m9|APYx=(97zx;V zhyoA4^Gi)(9N4kmGLF7!hDYD%EY)?p2%1gr*4*5qkvQOq>6H z7&-fvM@rppcc|Jznyxc_9qH|8BQQW&8|F&_w&ND)T|dW!FnV^^*|eMaJF(1IQy)+` z2-=taboE5+6nqrYtv|oC9-FeY5RR%V*s%E(lfsIHKl6cD@_eEA=Pi>uzRmgi{U#mf zhB|Q`?W*p&i?vh+vagVazOPSv$>e6rnDeo zaN~r11Y3?4JE6Y(2*8>dJmQ*VbnwMaI8sjcyR-ZRou`HlHq(%JldoF8*%C3(^3spI z@FAuX<+8Y1Bp1re&C6enNKuU^Sq$zVVuw)~pK(ei$!(ql-y4+0DXBs)<=t%76u{){ z8oM54Dwk1Y=!-?fX4qOh%-0};G14laa$nm_&gdJDW!g?^OCqGo;K=QC)L`3E`L&tm zdCe8-72|VM{*fKB?eL5@ARNWp)(Y!Dujj{3BhFY6FiReX{Wy>7lts&$scWvVg|ouB z>jQBjhJ`XP%DQ~vn?%K8@gVGA8%DfX%N6_s$i^7GiY38}4(DY0mg4OD!!9K9bCqsc z5%2cK zVUhMh6K@ic8g<_K)h7P36(9x4oDIjCC1~M(y59r7+|2hf z8fG5<9z{=8FB(l9?}i4PQba-x^rh@S^Rzne)Yd^9S6}m{ftM!@z%K1<)t5RN*xMLb zI3lcak@hOjRw?8u`<)RxGvoVuHJRQ=3i-Z`mv`A#tM-THV%4?N7u!O_LKs|=A-~vC zEp0;@7i1!RrSFm;2E(L%A4q)yV%+(F&HYm_-T@3Hfr&8JClcXYKQ@o(1 zGyn@p=!z}ng`o3y-{E*DF4ENNDbl_0wEpF1U9mZhC|ESEQtbuevis>RDg=y~e5X!# z>blhwc)y%Q`D0xmsbo9r_m0kZ{koQ0=V7;~ynGf>7PlhMjEi#}jr&?f8%Wc#^or}- zexATDV(LaqURv6k3?&>~m3*B*zzgOm4j$e3$HbhwWYP%1i*q0yYpK?nN_TyLA;iG{ zFdKQ42%&m^TI?(qoH1VS2EvVN&#IQWp0RwPF*u{U)RS+qTR-1KE6iqy;}WdQPyye~ zrJBPV^NL(wvKJq(An8}?Bebp)b=g{pq<=Qj(q4z<$(Ti+!#BMHSR>&-D7g$gAlxQ5 zW|2Dylat*h_kU%wGj&-bv-7lPPu|Dk{mKu3X;2)G+1}6c7}Id+PPD@)J~D{|DY{Jp z$+PYFk<2B9le{=yW&pD%1u+RKHS%q$M5AO_utONk9mBa9!XVGv3>zC5WM>m6pN(0^ z+n)nI8X}XrPEmI(ET_&}CS4FKbem&E8jD#D5x@NH9sPaqa4YYWj7qnAr5dyc(7*uD zolA4sZ+}aIMYzv_3$NkSoPC@5z~}of($40=^Pc0N>*AB!1lH!ALU*C3xcuXZ{lqxm zP1%fU(WVaar^0J_=O7$$7S<@^d#jS@bCdl1s|~|oE}VkSm`u`D<(OaF z&$T5Fw&xn!oylkfS9v(_)uPWbT5wk1?Vqz2!% z-tTWTNgCXZIBe@!cf3AFHcG0!z4$)IkN2UNvzqa0@n@H1CU8Aq=;&{@T^#e+C%C$F z#=*xmz^GL!I+!#_^E^1_dPt8n$RjRSw~{z-tGG5xj$Yq4zzGKRB6JW^Occ{6XE`F1 zf?yE@jPM=sCb*_VW@gHn!{=kBt_5_5^sSCA2E8&mC0s8_HeZkuiz%4`ThRfH>%x|S z?8CKXVHC_5xfg{(Q;7ajpvB3F zYM);Ec{0QNms_yfr|%owK#-{3Y`Hfn_s7OmCB(Cqkhxhdqcu|PJ5pJodg)tpV6M^j zdGXnmE~`qn;)6J1+IfvQ5OjOUzNGV-&PJFCobOom>qPMCOsRfACj!QkSW7em(9P(Y zIil?DNn?J$`tdo6RmwamAgBJu38S5E?rG1*Sbb)S^^Kg`BG;0vJRx91Q=L6<^;G&f zg(!boenWCph(iwlQGr(VLxQh)>tAY4qZzc`w)l9J6(%`McJPuIA#9sr3b7aR8t;=ma zFP*vKdMsaCHMTc=(oP7klD(-D z*v2*c%NVyeMTUf%VZjx|0q+i12XYG0>#ZtGCcl`>X-aPiAxB?l4i=(y!DSV*7~y@S zGNU|M$orrrPacOa4c%U$yDj_Qk>KAy8J2{fNA2AfD4CyX;>dhX(_Y!+;KkCC_xnBn zeLegL?o;4_#@_STqPq}A0&5rCVxd=&BfTa6JOclIC{EqRZZ9-3t;D7_%k|wtw;HHm zWpP|)D*w0dcpxgv!;1$r1>%%7D|vEH{V9$1TVgGj8m=A}lRiyB6-OqyC`nsrkp7lH zaI9lN@|o}-qAR}=a&luRTxt)k^rX4uo66o!>NQXLww_ff%XTyVGmQSfD#IgONRt43 z#X)sw)CL!C#kF;X`d_~wq(ym;Nm9$FGwHEjbwQ({o8<2`^k3IGULKZy5KA!PKm|b1 zeOEfU!~YP&{Vl4SXM=dr#kBlXbHQiJBh4z#Mkb9{Wn_=*-%6F|j5z$-9?td=cnHD> znL=-HtUU=z6Y+lq7JolDd-8~py=Y+|L#NRgS3bV|Le78PUybVbJO1k$1q(&8A;(rC zaJo*n1G`K#&fZZJ*){I}sxo4ldmlZNRxkpm=dr0@jLZ14Y#4irAU9LZ3H;kzeGr4Wj~rT@{>R^1z73^Y3znH+P)XP#G8I-(^N|5D8vkSq z3Z_4T! zO<^e7=a;&bJ-me(l)yM8_GiE|DcdG_6KBaK1hpIAd9#ca*h?;AvxVM&(%-A z#guM|up7SZ;uJG)pZK&L8tqbu;z=kYFnyQepYaS&^+z5?v2y#{%`aDV4LQ|V%OVQp z;NDwy8rt;G|JJ6Se27zoPc6M}iCG+l%1#ki>6cq@f?BD<2CA@{Ii01j> zaR?g)##tm7TU!bX-_*#iuZpb_ek-F8YP(j{j6#O5nN}JUw|u&%L=v0-?&2dWcK5NP zqi{5~3B}unF)x!Jq4kexP4Gj)ZQbT;J0|nl+AjVP#8y>8nfv-^hE;Ok$6V*iH6i!K z-ETy{wHg8<*`4MBjuta4-;qawDBn%y$7c*OmTq0FnYa`o*%(DS8O@|O9_l@kJs>AN z9d*%Asu~iWk~*GTHzT}V|Bq3pj0(S9>z4W0*LVB%#CY$LX8DK9!~3863AR7}Hnf%~ z=X(46vgzv%n~%2YwLmoV0OPa+-%=?VEvt}vb%_kGdiX1}0&DnsZ2~$j?6>xNj{w)o z^zaoum{aRe&X>0Mte{z_4(e7IILG#_yeFPL#wT%`+vRym{9CmPF~DyVlecWWU_Kz{ zl+6^mN=02{$Pu|B$in7Sdk80Bx^nz9wl2%)<>;n#8gDugq|bi4(#$ zXuXo-k=i4zJ11*o3Xe8uY#&v8$|Hb&)NuFnhTbc0ZbifMbNN-lLhvHDD2k>y^uk2% zz)CNM)cT$8z<-;1GhdTEQBm!ctwo5F1{o@U*Q`ax@|ZiOFe+zzyv=)JYZC=A1m#`!ykks&f|@NdtOyYKlz<(_iu!xL|18a(;&q%%7GZ~P2d z%sTL1do60|N*pp>T~%8dSrm{L3u~flayB(%qeky$UQ86NQRXGkb0WvLbqh1@WPE94 z`uz>SbqAST-m=E?Ntw|QbG;3fwMftS%3nRrv+5a{t3-yQvkfnbuPR2R$hY2Ej%S88 zi?~8b)ATkhEpIA1OQf;2tX>^Yv+f%0482C+ed=4?_9p9*iZhIgs!ix0kF)plaDOFj zml?@!K-j0?B=FIn?!>yokO$&Vf8Ow>Z~ynP(jak*Q|eyw8;(+TRA7S&DcGUPSyU#JG&fosh@9jREl)nuanoUu++kt%~!@QL5A_xNk3eU9Q8 zRe-Q0@S;MNqCHl?${6DaixQH+I@S^YZL6zDfbZReL+~o^R?^559dhNB9(W~kPB`29#b;+Fgx;q1FFb}yoMdC})=c9|pZcG5?}6cksExu@4#%KDo4cxsXg0 zEFZosSa`Kl|3c;i;7I*F{!^vk^)9o<&kI>1-&lbNyBR!-TS*nyyP9SklB=cWMqd=( zid!9=$4v2=D@)I*HpSOlU({LE!DISa?VC5}tld{(8AD+s;Y(Aiw?J|GIS=P8BU+`C zpP-JoUVC~v)@C(s1yRV7W`i>1YxS5)p6Fy`wp;z`m2%XchpxE8k5&c6XWc)=(RqX2 z(`y`6pm(w1Dw%{*}rSavjwYRr`kn@OmK2v z#~pfvez-ZEP>oB^)~uN;sh>1%-MI)Bq{+X&?{e*{d$ToG zdZ}BARYtq}oCcp#(~~GJG@l2;$Je1AQGD-XVzc#`2P(Gf@eo?<=@=7?>v7$jWZ1l( zVpGNv1(M#w2<1*xm!4+PiK#c19a!9c0n^uOhd;72y>;ggpO~TH^8Dxhp3`|&zMTCy z>psO=QGX57D6ITM>QXD&z%M$yQ=gdcd5$?{XWTn@LTYlUxg(y#e#!DSFA8*nj|Oso z*AN`G9DGWEg~9BwO6YUx@(Es^J?wt>*JJM2E7PzE7m??D1*ef4SHa_;JLM$bfj-N!q-kht)$0?l=ME;P$!>ZE7%i(C8qaP z)+Q)EPoKIvrT-jo&#B?~3Rgu#FN#!t?6{lHx<@6rt(8)pyv&$#|CCH7`m>jP@W6h2 zawU<)+S2bHkOY>ob<{kLCI{!MkN14~L$c&GU3cy7Wbc#9=8P*sCf00u#tp@-&}Zix zY5D01{ilOdeME&$L>E4!uOnNVF2S_SVAwc6S9T#0RK>BsAKx*ew0^15fyzSmYf`R2 z?5w>G%)h<|U_3&fa8%8uBC=cPNDJsC<^vF5c6Z{Sy$jI@_X_7_uZncP)RE9?>%A3Y zR7XK+)u^L=quMai@D0=d`A`bBC#_X=M|Nz1u=uGT=Y@DiILfay&x7pkuC-r4J zf;nWDubxV+z|Z+THiTt-Y5lc|=2G9xDJRqqs@{g?&M1n+L{Mxbz?2KI=)aQ;m48ni znp2ft6=V-_Kf^?;DbAs$S~FFn$JvcYV0OWX6#hkPpOi) z^PzIlS}XJzPqb^qL*|Gf0fV*LqLe5cb`kD^R=pV26Z7nip#FP{g6uJ z@9szD`31XS=NXb4oyA$Cc5rZ9?|qy4!K8<^)5NtR4{-ChTFG3crP@AV zl}`5>1ErN*SVZL?+NLTOdXpydip}BCpuJFZNJvh zToO<0qZpeVcPrTkFR#C{@2^#lQ5+SjcTwX|dt!r%{zfKzjOMXM<$=6i&qn-WoFIM1IG4xXln_ZSjlh>!%c=fAiOQ~z za=FG)x&CUsefuy=^GD&{dlq5r$KDNZUk4#ZEj__%VilN@b`5D!B06%|;f7xQj^H%g*YT;y5uj zU^#^_CuUNA9e~U{HhL*>wr09!;GWtIhHR@$0Nl?#wz3wy{nAzLcUqx}ij$mzM;VT} zt*bih$@0|C;WKbPbacYll%3JhC4VjUzgCIgA_(lybxWDWUwKQ#{kF3Hnu~uP2ZY$M zQ;W1htq9nEjoUxnHi83gJCY)x{P)}bzx|q!4GLG7L8feqh1>Pz$xtF@u#JcZC=%nzB*%$X zyY0c&O@MAU1XRA!r5pdx?Wzri>1S7uAV}AK7{rFXg4Y-8y%dXmqPLEK*|ltJrR_@9 z(O4w}WQTxOb~bk zx7^iIozjx#b&~<9{42vhz81EwL^d8 zZ(AVBd%m3Tsn|Q(&~)n3f^uuKJ;1>M7!Ahd7FJH0Rh~r~j!HlVnQzyVdC$4gVRG_KBEs3*r7sr*JtgN zhKH-n%frG5Pu?Q8TlxPzH~idQk`W-jLc%#08^vCUwNxo!6TIFJJ|iD+j?QJ(-5<}% zG}0SffI}wIC9|kzcthee2RB`Fx)9t0Y$_rIw%q{PA$=L-9@ur<>0x4*063atY*BT# zOc#2HHA3?&K^V24M){?}qg9>QH@vCWw`|+V{o9WjGEIgu4X-ZF3;`nXFNc=cT6HB1 z{V5Wc&9u)BAR*l|Ygsd(`)tRb)XkX0{lePzVz2GC7#+&S%V@g2E9Vn|;hsB+-+iip zXL)>bt#cfJU$Ccf)A4KE6Ongk>_`;@zhO7Jb7(Tulc&Zy4ddN*`dW`Pf%=6A65QRs zGh3g+4H#Rs4#&4ACyY&ukZ(f?5S3(+`@-n0T0SKs_`jHGy#3YXWE+X~JK%&Gv$|be z8XhN3ECY8@7Jvq+o-i%sKl1;&gqXuLmmQHV)tAgqrBmJ-W)A|(h5)|1tt*z?&pvU@ zBxl_Xd1@(2uM}Z?2 z-^=nt7sZ5l4!T*l3eG@UrN;*qr+Y0cr2zgAFsXZP{MC2fe;ojf3&$zJCuG9I8HQ03O1ytZ5hq+4e9>+@LzNe3)e?g#lVgS;h^Urhr}hK0pr zK!c;r$eBndY7dtR-~>L_!F6}obQ^9R08aW>D?$Ah6v&M8hKcnxg*`+JiR6kNL66Bq z^tY4j&&5rWW-fjV*Sz|($GCjgZQ<>UXq>m)yhEHn9p+t&MtIwDYwnp!g{IQ?opav?iEHJCpgwFrY%jV zMQP%<(7?WVq~Niu8zSq$SpAjK`lC100)p~ew?1hIgVIA7RQlF1? z^L*73k$Z73Dy6^jwA4@1kt4RP4P}|&k-T3`^T^)nizy9H=3c&26s8cz{Yb;uh$c`n zvg?^9HGLB^kit(K>$SrxLmb)>%I*$>BHb&t^W?-y7zlpQa*W_|)Qw$wdG)b)>(i`j z;n!!yN=cVHfLX!bmd*M1+xXu! zN?vW^kL0SzO6Q85`38O>bvu>EgV%%tL}8Vh_J{9)&??A&KYZ+&dYPFC(~v!I;z5gj ziHe+;rzp-rGgjn&Ex?0{KH(17@bM(wEe+3IqY%&@RQp4%n(y-C5U4us06MlJuaG&k zOo{RopmBqOC`P|QE$}1po7`qyk4La_RXs-_h+$U7faXrNWw!Q;*@UG_ce##6Sps>l zbvgFVnM#4^q^i%oZM)gLeVfG|T!A5hjhE+U*lSy0gbW2!BROxHy{VVL4~-&KS%KdM z=ATSm(ey*4G|<_-yXR-t&v0)LLB%-l9@=||^IW2Z14rCU7=m}rqO=F#k;YL=#|OA> z4MbS)lKo+u_2{FAt3&xLGfUtK;OU-AjV7LpcQ-h{8M7PvQj=BYduJIPoe)V4xzf@u9V(^^aTw$tRK#XF{T5X9e7b??uod z1)982h*2L0#L(@_z>%L;8cSlV>9N?9<^UiKvl;@T1c%FJoeKlwTLY)aWkTf5RnuR}`4NHm`AB8Xc~U>mDIzDx9AU(KmJ z_DY2-+KkkE(kuso{dAzz0>*Z77mm&_xRr=$j@4%Ac~A9Gv*q7sl)sN4Anf^^4{nw4 zsoi+iSrfOL+9>D7WNGdMz#Mf0_;8LPZ#j+v!SRIKYJZwqgj6Dz{81jTQ|dXy;@=1% zFGwCSNywLOE+u^SR+j@i0rK9mPosW*2XOCSut8*&cPTMACAwg0lGfK}JMQeX{+(Ys zi@Z^ncj~TtRg?A;ER|z11x_1;yc=}AbW$2%9&_HdHwgVWWLJ^Vanb2Vt@#d396rwg z1nQ~Y%|`7(ZiU0^^HiO-9fmt@XTeVV=}%PE!+;9T>Sp>gqzU%JKxfml1T|s zf{9}dxfc&vyYFD->IK816R7yrrYwO_0`r)TV^Ywtn&+WM7d&L>#t^F17entnN=Ha1E)n~X#1AonvGjM-m#5ZiJ3q=wychA)Y# zZm5?R8A+OKwOQ=Wsq$9{A0VY*gq&(rLwjF`RmE;T;Kkc|oRRL$Bb290#S@-ApOwI^p?hN`CPW<&l9;rfY8wX8K~ci5qs9 z3}8UsfrZqSt;=q;D30Ko^m1_|6quCyzJGv|+=y{N zpxTbHKquv?`$jQV$>R)r!-`y}&KhpN8ern46Dc@)ZkN70o-ne%t?oi%$a4cnD@E`j zs3GRDE6S>|B=bBC8%U=u{P;<;k9T(NQ@DQ%#xZU2V}n(m72jZpC&Bz^YoVY?J2w$m z*qDQ1ccVWMk#4$D5@q7Gl~UA>?Yj)*0(;Z3*Ih~~T2$RT%(jAOieWsN0B2{|mgK-z z9?YEt;24sZ(dVA~KWNik7*-8(^UGNX**@MzMO?c$JIF}NzsJgEY?MFDhdG(DMd-xe z!BZl7QKahFK@}65`+8(nck|dR+48QO_$6ahH&Cm|HHQlxX^K9s9z0PlxKP$X;Bnnu zLn?zdru-wp^w)u4{h=pU->j3y*{VSpNB#9x!rE+oeZ0(3LTiK6qK0KPI~trFS?rz} z*i61VnKtG}GnBo=Smu7%(c~{jlE#{Mk3ZK0l9~A?ww-FjP*sV$I6oTd;$nA8F(Q@v_zt8-c6Foiyx32#cAGJgnm7*2Q8A^M zyj$a&fHi2Up;oHw6d9V77r#`4Vuk=54rKdL(-e&H{-e{J?sR{U%tkUR-_EuEB;G!IUNf%uj_J5(<JAosRwJ}2}w;eINTVMm8jg@)0}<4eGV9pQvQcg zSfusMkL3YTGsA#>n4oG*+a>?H#LTpd$x_NqRK;9eQ>}nYQLXU;`S1uWFzf7lkHJ_< z*k;;Yf1VU`BZb+79E4l*#kgZt|11>qtE3h$hSy4t@8vJV-sLp}=wyX~5e6$&^|yoJL-_eMYGYRfbhD5?z749tM)dB<@8QVL&=xB`4~7RZ z8D0kmQH(Lyyf^~vkzB3oCzdkI=IZ6lF<}qLk1vhl2uQo-swcr-WQ250^O8knicjVb z0i9AwA<`^ymBs@n0c1!cIE+=O)!9|Xx5qN+i9|bwic+ArmF`17<=~4znw+)d8EX9S zsa4hgqKN`l6zF(4B07z2zuQY1%kMZjnROJTzoi{o!_bBpBjoM_21arc!q~ZRs3q%GJgV zwee+i(N?sC8G3bVSIpkWz6@O9?)6q$_}DjmI|uKUCsvZ#?>XwZE&1YW_jm4R!A0EE zb3W4;AIvDIiP4a12Z$bPO!4O;|#q)yWa67?YmOl zl1$&5^xJ;d2}v_qu9tb2#{3b?4Lfk@@nm~4UpTEI)~C*&Cb=% zc%zlxW%g?sG2aIvc~|$s#=h&UYM8qRKTf}H9i_-!NipA@#|bNJ&k!oDidNGoL#tt8;Y*!8?n8M&w` z;s}x7bS?#H9Xbv6zh3XId{>Ul?WCMr)XjY99*;Yjzqh}v24tn26%X$25Zz+x63$h@ zbjydtO#JAPR3G+rzf)~0rkvIbe!a4p_r(uNI=E~tkz}=9oV8@TmfpZ|zu5Cf)u2FW zQy6uF3q`jEq(x;twn)=*>$DD}l^1yF>nrfcwOHF+aagEBl+pLDlgBt#b#@p(2$J*^e zyJ)C$w67Y?SAThEaUQJYZqg61!8LU6`(Jj!d9vv6=BgAXYb5fq#&3xrDp}9B=9H~} znJjWzdAP=jKIOelqy57Z6}y|kzev5H=q}yaB+V=O@8Jp6rzs-@ju%s}{To8gIJ2bW zZ67fm9f0#e4mUR4rt_$p5dqz1kV-m;=ke7#ylHEo{KJmy13J9&;QB6mjtd!xuQx>$4Q`G9XnMRl3N=gT z$ggsk7JX%VsP6lE&!D!tCUn;$mcB9EuH0fehnX`Z{=WjJ9*CWk9xIl7i}=nMI{PEo zr>}%LRDx8Ouo$?G*cV-72a0!*u};82isfX=rBIE6S}Dz__Gu=UE}G`tmKn3 zjeeK9sNx%Gtf~ThF;~Dt^zR5(cDJ5g?Mw81G94_IvN~)6EfM&Zm0W^{ohqwKXsFaR zKw}28=p2Aq_RCU-J9H_%+tSW=m!M4#Q}~)B#4DCOk=OcqRs-TBoY@#)gTCVQ^KLML%B1)ov-vtZR##8BDRq^XT6p~s*0wjZS$1l(7!)6Hi%C;QoN2On*H zo=P%kiw8SEY_B$^fJzL`@bGh#|uQSPja6$@xDu~r7thNiUUH`9I=P1V>FZH zmWA^%j5^xbaKi?tm@o~^7&<*dF#{A&Yc#ZL3+$1^07e5KkTLW&j@iJ^(@G^sRJ==U z$g8QsHDCX1tP64>lf*MpYLt&2#3+ckVcW~yW(T;zkSh?I6~k++bI_IOr{K@PbO1S> zEw(}Jw$N(Yl(9V9Z$Z%;ryk%oq;n zj6#PIHj`>k#$w{PB{DKqFaRrIvrL)rNbbcsUB=ATLAh%#fA!%u)_F*5%!>psY34cy6lAdKN7)KC!%5xiFV5+8(B_X z#`IUcAhR;xPJ5@fu>NYDxSVj%ikKj6fbVp%bY<@n2&tv<^O_cvMjrs#zA^XChyn5y zkm@cB+|Z-c(ylH^5yyriZz*~`DprhB0mAPS1#+Wu6wIMA9FTBDe^Ka zYAhkmVfn-g3b4xT>S11qGmeWgwLxZ8%ZVHYPRORW*=I3-<`5rNmS^sKe~saBI0b^ zX1yP1`W-2B@GK-Ed7RGCYC62@_8NP!=E4`1XBBrxb#&JGv@f6FFDbxU`}La5j_zN4 zXIGoS9x%1qbQa?Jf*<*kdoAtCuk|r$MLQ3ACzT8rwBU^ui}Km{_2&dYjbQ`b(ijkQ z2Q*L5WBk$FuZ!n)PZ-exN!m4aoUYeszKr3|xWgh=%WN8td{0u~ILb&{T?=?%vFS$> z^EYHivbx<~kax|!+D)9VcW<-)hM#|Oe8YBxaf4N*cFsv=JAM?BO6fa2CA*xH?7Ncj z&7jRscB5`x?X!YVIO>KP#b;h)oJykJPy17`v~@Xr43M&;ca}E-rKvlo(>LiKI@+h} z-1>MUyg$Zh#M+O;y5e=#XV-E1A3aKP}$UaCQ&Tkf79?P7NOxscq(a@W9=?8_? zkj$Bt*IsmRHu)vd1$|u;ViQT!KNdY9N9=qG35(_JzijkIb`iEF_ZY{#qE|1oaz5GK zy7>;)o2!Y1M~-{Nf@b7{km*(ucHr_UC^7KvaJj2ECO0 zR7y{6LPXG^kZH{N9Qj9+E>O5JD>#}+b9F&RxT7@BvIR+ILEyF0vdxz|Z>g(yg$<23 zl+{CfndH13fHZH639l)j1ij{k%;y({Rt>oM)ID+sgq&h+iu%RF`gW8%M4Myfh5PPc zTMjP(mcl%HZ9&(bhB=%`-`J<9rx0Fmq`QL$yOfkeVRUS7|Kc;QUDYc$FEppsQ_yR2 zE__+>Z4MQkdQZWRIwsd7ez!>+_x@VP)SP{Uc!z(1&`2NMB*V}eX20n7(^8H|iV{F;SzQF!gvwQHTtY z1nN9GeDW*FK*(T=7UwBAM(_NEL`G}5_@CWtLbXpt`(D2izlwe9TvfcVrSOlo)^JdP>z&8Xx>pjT1yThCl zu#@*TFkNZ*m}0_%GimHsMs+R@<-Wh#542*B=tF%|!V2~V(al#eJ%|!D8))Y`x9)*I z|MJCB{L5*&tE#T66>@YlC%y^5rUi^zt{URP+M?@sQbmpDeYY?yvxd)?lxnXhR!q+6 zjC^09Bl-|ivn*`cpO*IBq~-i6sTqf9>Bz?6xOhERK}yc5p!QfjE~LVL6@A->Iss|n ziE>}lEkHjw8?+qGwwB>XiyPb!L+x{)FIE}5`Yax-IE-=7wrMv-dpZqtH8VDWiq@lR zJxk~a&G8tj6Ypk`fwEJd0RbUL3P;dx9sl;VGOijQH6Z4BE{n2c&p!F45MrnnHzO-X z-PP^W?Zm-Yd-1VgFsNWM)jXwIDtz_SfxWZYTmbHmnS0QDwiRB zf~>)K41?lV>Se}ylYzpgT*0`Vw;Kb<%ylgZ9h~F@9whYr&?Q|1xE9WomsNB9Wm+0T zX|BkWl){x>!;{we^)XX0QJ1Z$O6PT1hC##05|g(I=U`LG!m_BfMbVKeT>6RFp0RK` z_Un$c(v>l1QL`2?#+L2=(vzy^!imRgeJ?AL8Z8v<_xG~2l%VO)LSGRs<9EJo29ijd z#&3=*Si{|TYz}*cvuxPe=sI{? zJ=&L~x!Abxj8k_y49UYE%6~JmtYsWgSe@@p4 zR_qD07v_u;%s&L-k6Dd+*;q_@qp8!Jqv;+z(Jxq6Q!UQ{Ay}$4wW4zKqdXCwW?CwN z>mONirA9`5$&}808_T(c(XjXu_Zs{mxbQRYBLr`sC?uXEVrO<{M8nrr*FHJprnompsm8!>s==Cp zQ$9Tb?dW`DEBc3E@UP#M!$l-}i>&1&=!EAIh+U>MgpojOogevnB~juR%;L`v~ruC8Y9BESDay?qki&M1|E}CHp@{ z#D9H<1dd%ztAR)o@B@X|+oKLB43m(({s6H0y^N_CSOM7I&`_E?@X9{9dSVZ!!Ss~> z{dGhTMX-z3r{wj^8C8pYw&V<_r~8FhnlpV7T1mDV#j4Ikv z`2p0i{)GMetumC!;VItWvr0o%7C^lB!-DAT=f20T@BS|mV-n51#BcenPg2o9i1AsN z=s|Z@fEOoc@YqikL4_C6z}Z`9pa3x58zoBZ?u&_}b0&TPQaIw(?65A3L@*`jLqI z>z)5pBVYtJa!;xar9e7k>GXKn40u2ByYuGW;``IM_}SSX$&H~RW^vw-Dy&t=xSaBbxY*AUC>y{};3O&$^uGM!HUnXI#m;e1ZTBln^19l7F~g;`Rsm&C z;?MjO*y^_@^LQ%yKCbD1PZbo>Nr>(1O+$(Eax`Qsk)StVGOp=av_JB{51@}P$mn-@ z;OKe3!2BH2gFY4!K!x8x=eswvc@~-fkoEZ4P@q!>jl4&waukyUG&CsZ86QO*y+Q+ zwa|02K*W#i2E2hju{8fy7dOA0T9lN%u50+Sb^myA2i&F=aIf#*$<>d7ZuxGBDIv4| zAL~p2xJ|^zDf!=DK_2n38BGpPEWy9Ofe5$_pQ7d9SKs`W?0ZzGNt+ zk=L)%%he(hwFOOnR_-!8ZDybPF;@Ja zb@#s?iVkigz?=F%CTRrF<;FZ;=;MKL-$^sa6&43Dj%Pp=zcW09`Pa(v7t;6Vzr#;G zVWsiT^p6A#zK3`eDg6(i-*qTkp7Jtxo30jwQkDUroym5km;I|^r``6H+BHC)(Ley| z-E<#>F*qHkU1ONT5(rPdA9I?GGuZ-92qi~60(TPlvMYckH+Z_P6x&<<{L+3+-ys@i zI$o59kG+*wT>R?#)z>=;@)1wRdvA2jAx?Yx=Exdm-+b|7+!ujk(O8*6p*BARfLUR( ztuuZN!SB^$Se_`XDZZ#~aZ;(;>xedYr`ITBBebYUJJMdM^T!~5`z(ye#QA9b4G6hZ zCY}|BUin|~0~8cw?>iy#q&!#TjTG70YI=A#5bxLHn6?|*HQD~d#sd;~9b1-RI7d4Dvbl4&|tkO|eEmdY~c71#F^0C7T{ zY=Lj1>ZanbM&VT)h(P?C?=#$^B_>1ES@r7z-zHI^)76fgw94-(H3vFgty$vRZj9#l zL`aYTc=VMsHcwSCLd$eI|C|W zZ4?zR0Qk6@u^yPwop1B*ydUJaN!vlJ=0$L!Hi5;GUABoAsaG<5dt$6>pH$%KR~nJ0 zU_hS7|J~7u)FqHT>`9&BqfufQ`KqV!(qHh!#25bUp*ByS_hO6_0A6@l$Wc|XS?|=)=;W-fhVgY7b85YoR2~yYLMCbLdIkIf` zTo=R!m~ZSY=v)^-TQH}Kr+7rmCw%7EubqseXrxn*yEb!Js|hAxO0DMx9yL<BKoNHy*?}@DZHGuCWB6~UCjk1-|NIyL*GAHWPc|nM2;aXtP<>lB1%o!%P<(bs2i$~E&Kcv(KuI*s zi;^oDF5z`XzI$H56$2BeH^)nV5}WJ^aYF}Alff3c4-tj(=@N0?z&%J82?&EqID83R zw%LC3{G!1Cm+SJ|x4jCrGM8;m>?py2{ZJ0$`+O>BE|e0XgANYhnEGADHL65D1Y3|x zPh_SDunBgNgi;K`m}Bn>x?MQgdX?P7a^umK^6%DruZ9lv<1Jt!SpG@a8@j8wgCyJ9${qSY}g23PjrJY zZGkriu*p)=#k;(LKo4cfk`B!8Z>X z(!F|ifFH|1(LGi*WD_%r&oTSn_Mp7}GXD#OqRMqOa2Wf7L1YVfJOnk;gZ1w22S7qH z9%@=gL!BCxFoiO@{$6~TjmKdeJ`M zjB;tAWYf>bY~Ti(g&ovteXZIU)S^5|%{1R{8Kh%I0&Uxf9TVfLS~XxyqBcX)`VZ+?8C4;~f9tVjT>n1rRoTQ0kVDRFlTZijr;=i-lg^#urw{)ptHiiQO*`YzVlGEborV z$3#x{_MA1=-0?B2(;Pa1Vs7-zoc}z|MCqKe_nVg7c`p{j_B;^b49Mo61=*FEcRkT9 zq2;fy*Szq%zAo8az~z3st_AK3nIvYVT^f{D4<0lf%L-n;)@>u+zJX#jhJ%!i!R|5A zPbTkg3*hi=cy`#PHqyPCp1P;f!#-h0#~PMTBEag=hEqyUk%zT1D&0BtZY9b2fnHJc z6hrl9-g$w*K`8B)ly31W0e4ka&bOhVaoIVdPT>$shXZ}D&%_X|mDi#f^T(8l_rkx%y` z9i4l(2aVw__neD_bTSU8p#2XCplcoF%Ib&atq&>J7b}9xU{T@(;C>d~of=4Y*h~v) zZF%TL<2XMN9!trxnl7fv{!)iNr*WkT0F4XRk{8%a16}8^u7nArSy%lLQm45Tos#2~ zAF19LEcjw25M%BsQf%mhB^1(Jm@6Hg2UayuOdhN5{}g%0Ft-ro;kKR|lsQFtn?wV? zf-t^Z%jbdtnNCty3ak6U1`HZyQX4`WqU(r9p27jDkmTS^ch8pKDdDSlHj{OFqF~*E z%gv}|VpoLY{P-YL!tV9VpA_$3+a1p;ksB1CAFVj67sCml{}C8#g|^bs*&((-dU-a) z*41LI@A9KX9;6Zqt9bQniU5=_ZZ>+x64ueJgHnLbSGI+ya?+w=P|NHspN(o*W^7cP z9Uxw!FNVTh;dY?j6uP`MCX_V^;pttWg0;Ik4 z2Bt$r^KrO&E8aQ3(KeC!+^!BTC4ui!jZyNuXFW-qfOW$SaRQ{99MXUsy_1WBzL)8< z>N*Ns%7*?;KHsqe!u^L2CKEv}fot!%2o2?lOpk;p+>2RFG=qRDeP+@T0T zlt?}Q+n5QKgPL78Y4CUe-dFB%Eis3V5zt6OVsErRiGYZ#m zm&q8$LswX_VzORXcySx5#*E%7%h1RtVe<`B)JNc%nP6emnDWhr2so?U;|;U&0Bor$ ztMe!oJ>6m>r}po5WCavm*K0;8Z#7SupkZ@V)l2z$D-Z`q*U)(!y_9{K~ zRIPFP=IHc2gx~=-GnaoWk-+u)wBHaur-6h@K z-67rG4bt7sa30>hb-&;F&UMY7Oz_-mtvl8)v|P(&#JU=6o}(+EvoI|adJF)9lt+{% z3yrw#4}Ny2TKQ?YTvk{0MBBHoe~dY%U7=DeQC~s%9>#eFcMjO=?HW%L$CC%f$oe7S z8D7QA^<9E$g%(y-nNKB^Qj|jINwfCy&i0iij^Aj{}RAYBrcd?$#Py&Q-PQrrhIo zzEqXEyFF8h*{*7qP}bE^;H)wUeqSqrxcnYwqH-IG+fgxQmzm-J(Vpae1JHksYWGv4 zI&Y#m7FVJ#cX0<22VV7e3J;?3uX?29h~Eua$|pe2{YbIfKou=WnM&_4G+fPp$;W2~ zpo>{TaM{Ld?;kyjhF=`&902J4PIW%So`;0kJrqb=iv`?50^S%kg-nw1d-3=1-^Mb8 z6Oabgt{cJpce38%ehaqq-CyVwvv^-VsmOM;K_~5@TL$sJn?^aQ;kvnq7G^Jx)riz! z-s;T_5X|#3^%aR2yB^i|wjr0q5iTF~9$F!^Yh@~S2M|CBkYBoySpl{g*7$~R8%sbs zRlz>zr+vzhXPM=Pi{B&McQ86g1Of-`EVH%qrjks%Wi7*mnt)iLCRGBPSq@8y1^K#{ zN5kt%S3u(%38a_=-r6++cn-}?8*PLHdjP?Vt%DJ}BuBU@Y8NT`C5xrb%bh^llF>1a zrZZ1#sRY)(ETQ)dGxe9-HLVu4OYEAqyBi%?8bZ*a#zx<<`6|uZpi3T-%vj06yZ`|f z){BNg(_zU@weM62MriJ=TGj{t{ugwiDYuZ!V4ScTPym_zuCBCoy(t%JiX~q+nXAbD z^~b!ZfVPzGXUnA)`U+5hrPTQTV%7~5CT040QtZE=rjG5+kFEZL3;(ZZ!~Y%unt@J| zLXBK$zi$sbH94IFL{lOQcXX>d@Ds!oZORh!r3%b@s0mX__7Xor_ujT(BgFWz$D_tE z;C$w9^{$5AdEL8!rP~1FemS^A^2UxvsxHwz`4?a0E$`K=-ca-P60H+t2td9wmcp+{ zFj)jnfAWQBQNAT(AufWqv_s0x0nDRuc2sXR3t|# zMfY3X8f>yM;Z=AKg4nFt@MD*xHeovxUYs0QW%SLPKJ037P$jLgQJwbPLOh1+x!r71 zd~pVPnXtht{GH~Qd=rP7r22KFE3jV0eEi@%Lrt>p1Qo^O_n&)<0MzY4 zt*r&ayz}>E3g9QGB${waGnyx#DFswxm!jOq(3Mm1;@$r*#|mHBTUeQ#jRzG$Sg%?9 z*REBWY_&owcV~}30?a{~!Y0Xp~bmj7hcyF$of5>GP-uJs$Le^zfY8*WiLf4STT z4L^Hmpc$iW7=;pfdVhBVl-K#+ppeh0|~g24_05?EsMT z8Jvz!!}z*ab1tda>4+{4txu`V z=P$xDdfQJDkq#=L)GDB%VPAW|gWkftrZQ}1dAIkD5aFlXh0=SHy?jS6^+>K%gbdw} zBS|l*Xg>6PU^WkRJ8n)%*^NI8;Njt^JjXh)b+GFy)om?t$LM#! zQUW}XTi&o%M3@4kbK|iLExXL%2vWu^# z6AIxC#&5TNc>>8?W;qOHP5Z-*yy7u2TaizLuP4I#DK$^}DTRgxoVJlN-Tkf%qonvQ`;i3gG9~P%K6|UuOdjF@(W9ZSML}QuNxg!WMM{t$=Hl6^TCl>vY-FN z5oEu#mBK7a26ZwZ#e~*U!DLf|eG;9N*8i|uF@J7JU$gkoa-%rva;xu2Gi&DA1A+0Z zzPmt~w*G|jWPmNxB=E8FWo+WU;d42jXdi|hHCi&eL2j{ZftK+sr$8C%)!mM+FXR6&)=((^d{FyL z+>{v89j)MO{3~p z>*(G%X`;&;HjK9nLYVn`pPf#1b#&4h7@oC&;q;VbYYLq0jLassr0Mp*J1LjVR?r3! z*^RJix^e*niLc2Fd!MClJGX6tOr{XiO9}bcCN+-ZFM)zO$c^g&j8+|NSF0a@;ofd|i6I@Igr`b%wYJR1yhP8O^ z)*tKN0@hiD8hfETMF*hwAa0xGW+bB`6L9>8ywGKycHbZ;QU$Tyx;T!5QAVy8&%v-Xr_Sm&$39Yan9|| zlW%U1fRnGbHWNN^S3o6B;Qk_ct8NI)Ya7Ng?Fjaat9kN`I({G_ZfYEJm`zKCkqo}p zx9xa24EF5UO7VQ~(PL~#5}p}%Z<5fm^_cN1pELrwDAHOYdQUq*;Z1(niGHPcxxUdD zI>rUFYfM>S+P%W*>3p&Cful^OumkzH^yu#Duu# za_zTAY5iTTa#72Msfsfvt3>~wkkUa(6l63Z zRr@kR)?eeJQrOS4fR4-1>~|kFcplYMPN56wZ+$NZ3Bwn_Vg@U9^R-WX)TvSwjnT8D9~5F3RotPPiJ;I(|-(JyIyh61!mNDuL@`8=H^^&cM%jt zU$GCQ@VV?MD;r?Aoe$O4@TAMKEqx3M6aesZ&&%< zNT;ch&+FLCgWc{(S{6LhU0pas6P3*ncW+f&6zdJ@#}iMkTh zd3A>84iAg)j@RXuHLt2JI*V?@?8oIk$Brb~ec}WlEVP$L%DtfTyuXNXq1hH{J|nMxI5RWJe;6097B$3!u;B{6T+4hl#Nls4x0T+}MO(?crczB(I<#kYb5H;MpS~ zDhdFpX_X3p@g&c!#P@goh^Zoz%DxmWYpzy$2H*I?72qJKZZFhYRyGOSMmOm6IT@sK z_cWmW5Ty78S|F(`&rZm$(qwWFa)su$KP?bd?n2%7c-iSV#5S{&tfht#0C%*f+tjYG zEvFx+Iu~xWA4^|N<6}Ne#nT)ZK=w4=))Ru)L%V1&m6y)bY)b4dknqqT%L;-r$&PFJ3K$P=*V)o_GEl_t2I3Km)!@Ksas;s7Z3CvS_`7rg1v5Dwu1CXTIhM5AH{xak_g)jMGU;Z$H3EU$;M#J z4=Z|~qIu?1Epd94KSh7yU7(-WI%E!WsUJA!cyclz8#akF(y*c_^nb*v0H~3wwp|8s zW`by;)kcXnVwzvnHFD32THGd&0h^d64htiik@a5HQcZ(Oq$k#S`?v0|BO2c>%~lkA z-T*fv?@9wx;e1(QlB#K#q@-h1QU-olsWF##X#ak9u}fG>v?~n^Yd8-_HV9&jMWDJaA#nc4s{m0>Oh6@p~hLC3ae&fUwuZy>x;;4&Z5( z{}?O(^{d5q(G9(8KmZJ{e(=+{^8kJA&0-Xycn`n@H(s<~u;9OT%%-`QCtrg_9CJIG zngKkG33GQhWX5hbqE7n5Vorlxr~R{1PSeazfj9KgG>Dk4xOB7It+vlMnPKYo zz*MT=DnaTNMr^SC61i8?9zeTZEN<2M7(NaTusEVC4m}xvdA#7LC!q>`2U}CfX{mq_knhc2!WGu-rrB zqH&m&jQRF0_Tj>@Zf|{S1Us<1Y>EqkkyrK8p~uX+?4B8J>)qA|fi#{cyjTIu8_|PO z;d4wof5xFzEEz~2yyH;fRKo4=8k@_hh|RFpjL{lYc-egKB9-3v^+Mq?h4`Gwzq@^p zOBpuP9+g-(DK*APXdS3u<)^ljN1om9N#@UBj`a4I)=#o*;=)cFiP>Gr(i$1hVQ`4Ygtg}dS7i1W{-t{-RGjMdmbi`5wzSxZjCIc%)M`ONn`Ww zM_5K)%cgYQH|?I6_EH>-WLviKg{68f;0=9Y)DlcmgaYw>u>dA~Rx$Y} zRM956!CqainAW60^cSglNuCDwBw=e9!&hHujKcYu!vn5v8RZoG1%4R$PQW=}x zxbvsJe$yvtrlI%9p9fFh@9%ZoMTM*i!){g3^!pr=SeaYoCm{7p(P2OZm0s8^FTt(bHktS}1^ zQiJ(k^a^&({^HYIkd15_4SR(o}VI z*kiAvOX<20LcV#Xuq)@-s6@Ra;BE)jvMTSg$i~Cj5GKpZg0M(P%+OLa@=2Q_@(PPC zN$?s_KrDDzaXIEAqI`gleFyzI|9`|{a^F;N6B9X1!+;}nVl!X&KA?%r+i{A_Cr39w z2(Mdibdfeg>cH?EEfJ({kK*w^^muQhY^_~o+TC)$PZEXECbWt@*4Ot+7JolC>dqx1 zH0CBf-yV1ORzB*aLK>;5Q~Y2C*-&r4zfW;4hZnM%Ou-p~PaFzk)C|6D9CKK*t) z+?|8|hP5V?vyZCjNhR}PAS^fmVH?tIj%*BuxJBi*2&t9wK}I32;dkEy(ptN3w!Oz} z*4Fwi(SN7D3R+w9y4v<_H{#bAh47k3BW|S<5>5x?wy;K?mO4+sX4)>f()|FXnpSN;CG%`p z@9kZqfxhPkI=`pL_jjB0;MmjFnu9~pQnN;jm&pVCLDkG{_T{W3RFRy7j>OEKdS54q zE#GHZm2<;}Xf1P#b)bJ}fx8u|!|3(bmR@Q=oTX8V55LEA`qI^4%PKXHY>WTE<;Q)A zP{VlXxH&`-0!;q~c2=I=6M^?qZzb=ttj{Sw5empqj^jN1_CkC;jeIbish(2Ne*uuS zZO<}3E(|C0m_drp;vByKMW2TI?ItXEe)abV!>nebeep>1T~qj3RPB%DGnR9TO%hs^ z$AOUoBS6?lyR$EnBZQ=`@@7DOy>D%p7p2FawA|?iP&eUw*iX!#l)d%(z%5q@85oG0 zznr*V?}}C8i*dI1Y)qM35SA=4a)8M*TDNNVfj3MV9AAcPz(~GF7r#fu44r7Mw`|GZ zq+@JM8eH!RvKx(v!)+JW^oL=7s1N4>Gw6+`eeg`0s)&0(UJ_IRtuRKJ5wa9bBiby%vB zV~)vW2CjMUot$u*{&>ss@&24rS92!2CGBy_@H1A*mg;`QrT0(pG{ejC{Nr1r%TSB% z(1lXwn%8{ev#$N`x*4B1`>>bt+c@6~EO1(n3T_K=%}!^xkbSym!3uQR)QWZe1Zszf zZ17dojSa?e{pcg)SDnE$-_$aK0Gspm;m@2Vd|~38G$XoBc!g9KVZ+<=ku3U# zhIgGrQYqw6LJJUAlG2_a0HA}z=X}L_zL5e(h&wna`g{iC&uYtxyR7JH&Tf?AXy%B+FGMQG3ICljZ0Hi?k1SCSmk{%*80J6*+Dgz&DsNEvLLayBSF~5b?R5B&q0#T^yD%h-*+sflSJ+mg#vT`fa6Gn1mDcX8kKJA`QYopP%EECg!fGGisS5Qe$_PkFyaVP*RQLu#drz^v{!wirG@Vwuvp(QwNM|%Ow~vB zBB=AcIL@5$yMghPr2{m8vz3dCT-$HpnIdFwK!jVq)URSOh8L%2%Mhf#eHm{Wtl540 z8nhszr2Xo7w(-wP{9_vxeR{jgx3q+ieQI#KzQl@MEv%%|rk7>j#++!r=~QYo&jUg~ zp>@Nc7#Hb;S_0y%-lt)unvh3Yn# ztf>R1Cm8~$1j~XTPdULP1D;k53UMb!&5YQ8GdI`3ppJ=TffDfYq zY^r%>#`l79vh#7lIZ)Ifj{$=H-~W<09061?Q4>W|o3iUQR}A=p;i>sk{QZ%vy0>h05mZmPV6(}?gg5pFVo&%R#EJ>W zu9~KEcnT~T&R;br)o65*!@}rcH0=P@E@Z8OwmPqEd=m@%^rB3eG>TUQ z5;#j&l69rs!GYEVH@f^W%^ae>C+dDgpXMl&rQ`WrV1_8Zc?lMvoM4&nR~wV&i<>Hw zX)e*^D}?t_{`aFmWNoyOfkw-+2FD}WTj)d?!Obop+XNI2M@FQv)~^p6-qAK!!bRRL z`t3z@vT*!jpg->w6aode6DYACE2n5R36?au_T$<@8zA9FDw%Sas1Eel8NX zTVT*Ce_GY2)NIJL8QSziHG|0V8{yoJb>M4H4;IfXt#S*53O74*ML6=cVJdCJ|9()2 zpGT40JpVUNHa69(+OrY#GLd>a*Hx$Wx|!ZC~!7YTV#dlR)_hIZ2Rj^5Q>&V zkyL#CJVl{5@tG8rr3vYgn^*M}2^4lI8RD+Dl*bCE7xz?|`TCpkB+k&!{9IvEqlcnjoKlp|+F41Kqw!!txQtMk#-dbsGEEo@?Afa%@o|r&W~Nf& zZola{H(vh<_Y06Kynjj;!HlL@z23L9gI~FK%jQ0+6*T$A{T5Bm_pFN7_J&a+KPC0y z|GcFwz(Za^NLZ0lVRK|f9&*zcJ@;Fi(umqjwb>mBgYSJr!Axn+gH;q&rBP|LfoCv> zCUhumjfJ&tZW3jRcA_FqU!+a0)UW?_WJJabP6cLH{VqVHvRpijw!2~KON#Ly*R0e_ zM5rx{eUuoYILWQOzXw&+4>4YsYSX&(f2vlrMw2bGi0bsqBwM6bEPMI)uG3SWT&~%k z+=9r3a9<&*4VnH^BpaTcL~Y6PmNHNUG}u|{UD_u*wzK?uqL9&eo`o%M#mv{rFS9vh zO%6OXMEjYyf4vwbXli(L>2HO6>tAej`0C}Yg(8Oi{1CY8rlE~YS`!icz)$+VMvckC;N1)2!pb|XTE+Y7M zWgy9>xk5DNxlHgec<*Rh#sf1rX<8oqRV`Pf)J0PSov^edqa#p-sZOAw13tBBy*Xgq zv6nFUh*)FSRbv5Ds|fqQ({PBVhrCKZZMC0#REsy&bvrHYr&!%czq6-PiIP_o@>lRi za>D`)q*yAJJwCM1|K1aO{veY(TYpXCW&&I7c%Up{Ig|b_Dss{augh1-amKC*^%~aH ze&FqMM$Z~XMoXOsX_(M~4E5@+KfnD@J3EQ(d95j>NEC3^kkHW#d9jObuB!dXjAGsi;M!-_bPIcU-6)i(}Hs7?O6?v7l)Bn4( z#e|>@j)!t0a|tsrkz0jK=s%O|qD8SwD}x_ocq|(unUN19Z&epN&$9-zh7i$G5)vA57?Q_82L4!a0?aMgNRG&n8?9fhk#QRNma7OmFUQ|5En z_hKj{aFaYxD{S-CtS&cQscN(}!f^<>EAxj6yMR5EbXY9Wsdpm09Iuzidmr8CnnZ@sNtx2nqiqeQJVeg~@o$8s+m1j4&!f)8Ffs zPH(|AzTedMbrbI>sKWZfD3bPW+aX?oKwLzG5{Z`SzUF?+e zk&`@GL@NI+f$(UMy-Y*G_*sJD^6ZyL=Es2Ooxo%M%#5c+DV!x|x#gex)WwG-0nxl! zF#j$>g#^Lfr0qQOPb6!k*qjgfXHl7W#O&J13< z&MAK4jp4|44i64I1Ie;Q{wb?NQU!;)?Uc?oyeAK0UlC7!^H`Tz$tJCK+`zCl&>yXl zgvd;psjv#tppe7)h_;DCALtt))0eB5Hx6!mrmgCT7+hfSw)rnC^>e=RV%IdF!-D~l<9#KLRy+$^r5G+pixe7J!^mh?e(7m|AY2+h#r;R zF=4a~K1>F_5aR6Hd(G5~p|paJ=li${<#yb{AhY#?EMP+miVHDk+<1bl0u zst>=2{;VCrx1i^95vV8pJ`cO17glGksuF1y#6l!^EbD{ql996(B`t|n4WsV-VRgI& z#h@#Gs>h|Agt?T8HDlgdo*~psEP5T{Dh68=&tl?MjCS|u#rz77Uj1K}>uCOhyJjPD zKp8o?{tL^0JWY?8P*@SN>!QT_$S+|w_v1|DF^KtUPJnQX-fYJeuRq z*>v1N+q6=wY!Q#VOUd!ru|V^Zk}dHDCEH;qNt;^8TEWwURvOeCsfcQsXszA6K7iY( z@e`(9M0yow7+5)9n19C%?!&nMtxN^eP*L(Uo0Dp^>}&S8I$sJUAx0CG3@p1P2deiN zZD}r1Z)cQ8|4O9#^>@EaB70WUYNc0PZ^;Ewk4(#g;Hrl~{aY=@1r+t`hW*@kS=@ep zF9eCFL4zL8$mH51-v0M< z;Kb4{E{*!8$nZWMdibo{l9EOxq%b9YZaGOWnO$bTdkuN(06k?skCF=_#{Ktg#t)$W zq^HbO$FFGpBan|D1D?ZtW_20fzti%gVdpg(!yg(rwi&hd#p z+GZL~;&_%EN-=I;Jn~ijBC1~gCc35k(DYE%rPps;n~}*Juf=~$F2M_63*8abpPf+y zmEF!u&ygE+?P7SY?XdKR{p0lHnJ}_BSD^6Ri}E19t`3bIR4w7#{&xGl%$6)V^iUhV zi|@ZjA;u29`Q(x)kpifyo+f>Yj)*YtldZo{0UBZ7>tIS%cbop!D;bHEY`uOa!5<&~ z*=1=AAbSlSuL{`Ik8?dKDskGYwNUWAuEsq`adJljr8x)hz-DdH#HJ{4(!}X1=6*5^ z8h;nIhoCje`#^hzF>eRClssZjIUZ^RdcD#krIQ=8=&2{;$G5c?Ay|1}v$oqjJ=%zOM;bpOKU#F(Ik zi@bzD^GgV4DEh2> zQBIbLc-9duPqWgiCIw8#mij=(wri)xn<=6}jKU68H2Ve*1OIS5NY^wJ}n0C1G534E4Brm6HUyJ3)@(v|HYriY8^$pxz6CY<;@gEfFg;VOuzxM z;`@E+d8cy&B}l82-5X>m4?#B+5A8<&JQArtA@iIhZ$q~CeX5VQ7JUrTxB2*!j3PW% zhO2`ieM>PVdt5a&BRQ%&LjH4PC(g(5KLK-xQ-VD3WwSA+0g0+46%NJJ8>M$=J_Lc# z$#-gBIs-_fmf@_#3Mg5%?Ba5I1Kvb*sdF-SrbD#N*%d zlsF$An@tIF+87N0JhO&j(TIKuZb6!1NNoB(0gr2gnl|fioeT_ilpgDWae`Z_^^=nw zbS|2B5De6uRDPFUX{5Y{*aD+~pDBAum~a`~pA$DS(!-q2e`;P_-4>OSd;3AMFJ>hP zNTDpcttT&_FFycZahDeO{@+->04anDj(v)v+9ryNprvHoJWC10u{U6U-upQ~+c;h` zW+bRYQUYm%~OugVd%pE8(N^*B3_e4w~nv!*%qT#^43Z zl6S~`F8)?KWW1h%jQmP&-qN!CJZlqypzc_~2^Pkz2fU;7WONaEAib6&;iv!m_kv#N zc@Gv)*=)3F7hfGDPohbj%1MZWI1^-@qXUT^fuiJ=T;&%DK8ks6e57 zN6#zCAxW9t4ypH~q9;&O2p5c6e$4Nh+|F~{dQ>{Q_(U!CLj9lGT1*)lLu)XX!jB-P zU`}?O;`>doT*?!R$XX;=!wgNx=^amvn_>MRzg+EhG;_yz8#5S+!Zli4mg&QoH z6+`$%1De=z6XpJrdq}^)y+>fqqDW_|VaK1nsYfYy+9e7!z^mOU(ibYN4OOvnqEfd<(<_qj2=Sp~ z*I)px6B+Y3T2BD?_TZoO9vLIJ*>3rq==7!e#|b_`OF!B3<7{RtU0u;Ky~g<9DQFCh zV(w=M`g4c_k9hTyAb&O8(*|EZ*R?JH+wkx}_N=lswLgDUg50{&xa$^-(ErIug3RdQ zj5EQJx)LiE*ZRY-lYcpZxxlzSK$k-z+a6r=jYGl}ppp;pYM{Bi z`Tl(pogso#>sondaYR&4KU~%^DM=*0L7NOA=G{KZPFyh=o%Yw1MAr*|p!&XMi2d^> zL12DWjvKlB0t%WRbfj4mF??&v{`GWcqN*&bpI%S*c6^FXs{!InRGaVq?o2#F5jIMG z9>-$2DW3oK0{!kHO4bAbnoa_|UhZ{&(mX(M%igGZxYm5`BLH?{a=Y8jeU=BfbO6Zj zuP(46nvSkljOVL%k!VUKv433wJR{?qlQmW_#MR;5Pm<|vE!Px{A3>qqcT{(P!yqrr zv&-0gi(aFcju{TB2jtKaocXNd9vu_2S^orF15W^Kl)jIL&AYWL?&q@$vMqqJJ1(m+ zO11f1V2$~ldFvGMcH}T%NM%M2PZo?E{hl^#nkk$|GHu8bt!~0^%sISpz#H}(YSX!l%d&PJ(`(S(}(TXujBsB)ZyA78ZacKLY9~1 zmxAvGE32oqN(Z}>9!`kmO7xEsD)vpurg(dC6O&Jr^x6-AEk;JQ*^B}p)NKL~a^LJQ zsBjb%7TTfi0m8Bc*0q3PO`Jh=D=ZQOaFs{{L_H^_i@)$4rGOz$e64^s#4doJyat}i z^n~*ON{}TkyE%5U?YMYDMWb?| zN|ou9X#%qWLbBs{Km+u`S)TiBlv9?ws$1jbAc0f!GE;4b7pLHcpctfc;j zrt@xgn)@b98?3wH#mtXZV*p@m+fSWa=D4sH@?li2z47+YVP!ntC`G*SsDhTSCuA2O zrRL(W7>-`LTOMVVYg%<-OzOo0 zB^%9h0Gr;`A{uWG#i1&HP}U%&)BR_vtKjAF%S&R;k}T8g5fMre+L*L|1K|BgSGsFS zzap?DE_QaONCvbVLJ<|vsRtC*1zi@cdUm}A?quTVaxl2I02qj5S5c($2&O06O`vioW?g)&)QNRrItpH7z;8!@|1CGy+p*{Uz znMONifckHGuvkBVPE@)+?K%?A(xc~x{%?9QHiljhN!5vVdtaL#<#`j8)E4@Mfdhf4 zfwa%YbK{>5DvQQ5Pz%gl6Us}kTp8x-_aSXPw={(QQyA+oU(lu`-OF|5E}a`wY|3YX zE44#oll$g3I)8RYjH>Rbay?N!z#7uI1>iBm3^}f}xXmRG>;Oh+@0ev9<9VGb=vt<~ zV=`zMw;KF}h=my#81P>o)n5}{k{Warq+F(CHkBw6J0%Z@y>#rd<~ z;m@nPV9R%{%4lvo&CZwOb>v{b3x1#eo65Iig$!E&m@5-dMUMo?-E?31N@8#Rq#sxc zpuX|bkB*a{9;0OYE`j1!f!<5xz!L*LV^DT|6t6IX*?sjtD_HCUV4;pFFH-xc@P513 zx(>vQyz^AS5k!PEdP$xvgs7ofUPeBAjd@m=o&0s&hKf|$B1au zh=sd}rLBfoKaN7SOWRfTvq|PKS={by&waqn5P!$h(y#R-Tm(E{3PzZArz7;<7lmZwq4H2195mlcPxww~V7XnfU z<@p)Gk(T?eJ)s2lM(;+<7QMg$T+@auVD7QN%ed{Wgb=ZIEIyHO6ybp8oy)CSgQDL} zFUvy-*Z$PLwjf7yx|HFDYM|h^g{&by*G#uV`Ewyp>FtfBxe3LI<_`bXOD~`U zWYbKk5o@mZQf}ad5%8h~kAzjntjO`GdHAaEhpE#^NbdkvvF*esRM3D(5Xts>>0@#d zx*16By0qymumA%!h9G0Tu7a8O(lTA&H#DLmJ5P0MYM>LB8k$SqMIM9BWrq)NM4fDM zvZ+QSw@YNVNRZfaROTqZf=@j$C~ZIGSX@Qb%=b_n)dA_oAvF_hL~$mpFNwi<~ISD=9{eScZ|47WzG71Xm^(mnB0x8xpzBz zRRwSk7)SA90s|2?X&5z%q*12m1%BrEIwF!<(tYHFFC1KUJ(r$0h`XA6D(ir5cmn(| zg%9UKl=GADe-s|y0X`;KSBDD|3=cCUUwO`xIxxGABYv`~CTt1J26>CMS2iB@ayznH zEN3N07>uOyiD9GxI{Fb*&05vg*?a17ylsE#b`lh-rxR)G%}vFqPhnC%8^lOJ+h{nV zIeAfKlYf$O8bZv`3;jQZiXaVY-sd|!gQF#un2O*gkq^Xr*WapGS;7ExpOY##kyRuksBknVtn{1DpY$bBS=lG0y#XwldL?#CVECSi7 z`UBr>OF#tRQ-#=7R+L&8S0VvVO(C(?u)zHR3#KEU?OuLve|8wtBSt>NCSc`kCSOr> zevlD;W7E^XUB@XITjiZpQOQr0B8~L32H@9zmcf0PP4hYg%tt$2E88v`jYi;jg!7%A zqlAH!c-o+`TeY3yLSt-2>x*d)Qw7&Lv_-+NZ^%lg8E9VYVgF`m(C<+b2nN>@iH7}d zE+{euAZ*K(cF8>5oWIy_+2o+4^b6&?Qp0s!EHAjxY-jq|ZFze|nB9R2zSIfjJriSi z8Taii&DwyewY=O)Iw=RS`%5xQw@`!ZM}YMB!A&UaPdiI&4GdnD0ODd_0XjB{Ke=a; zPG-L01T2lq^`#nYP}#pte;Nc1X!@IVsSD%ZZ_-_2p?>`K8noQMwM&x$E)ai0Dc4e{PmT^39=U|;3e^zZWVYtH=AsUcGKV)Iqw{k$k?+U#Z#Ie<~ zCO+KcRAe~Z+&jIJJW=gKBmt?jU*bkJciu=);jEzf>a(}xa+L61Kl8<9 zYFBKe$F@ET#9UC^N5#De^CWo35zHrR( zvY&3);izmSg)01{LwutRig02H|IXzh8g}^u32zXg@0SqWtbOhPwUe;0@C6;?FD#pN zamt$}RN$s>YKJeEh?a4BtWR3s9$!z}A7AMZA0Sur->Cx%LZ6#Wku2sKd_Py4N)tF% zSE{%=I7W6utIX-()HB|Fqa(Fc)OVO%J^fPBEXs0RJ+Wzr`WRm%2aa`6H6Xvec=m=d zA_15zGs#Mu#q#zlvFs%~dLFX>reJ@1C{*s8>V+8Ko(*ro0~Hr8D_0TX(+AuupXZAo zL!zf?tW;XlzW*EAwgAD)hN>Eh;0^^qnAR#tY{9wLN6T)DGX~G+p1oS;I7=d>veZRReja?p5 ztH1retc_8AiTDYNF&aaeoaEEnmW&@lpasA(hdzKiYAmzoWZB_(qISitFi8Hmew#36 zt*`&OhY;Ovyqt+-r7AcHwyjM@h@C(!6i=zlLRg!CTmr*kFCY&J9s6v64b^|)qb+D5(_b@0XyXV8N4I%^!n0yzcb zm_~lPZuCa5>UF=y<+e4R&VEvZpXA#-Hmv!6kSlWraRPWJQSdQ@)ED925v2PXC~VgN;v* z6GOT_CSeKU?~SPTCqJ$Ow;z|3rPD{TobVqd&=Nd)SB}1x`|=;1@Zfa$0w6I5snVSu zOglW1-k9G23vzp>q~`7DB#1cl{QR7nk#S@!^{ZtSr{n!$E#HwoFqg)e*fqzL5-s2X zG#kPUFY#%`ea?UbDvxroOhzpaN9us0-O#QLO{=j$6IJl3>wd4#OP*F{u2JR+OJfAl ze=3y+>QF5?$Ur}RS44${xqquvGLB)-a_P>lNWuy0E>_ierOmmq6;RGo)N}}6|uF2-}a+BK?< z&XUC53egw)0>5qW5vgTxz9kI9(86yvc)K9?*YKp%TA&}>It!B;zgNuUUwKpz_b7wpW z$ofZURsqI9-ugh80$EQl#Xq^R0xb`XjV!r=!t5;Kh!Y(}edcUj;;zz;lE!JX&!ZgN z-;ibSRBaoJyzJ(12vZO%8fQMbWh4|=gFV-C3=sKM(u-1~!sAE;f>a@}1P}}U&l|}(nx_Gn2GlTNVh5PN5sP7Bn za=&Vta8BU3EK+psXaZNsA1)sZ+q95F;MkBkPhKSAM$A*ACeBrEm!aM4R|x{+9H;-o z)OUt85p`QzP*fBI1XRRG69fTKiqu%B(gdV~k=}c+qaY$RAiV~pOYcP>BE5Hz(1g&N zlF$N4<{R&O-}`+3@@E*HGw1BH_u6}{#Slo1Rb!M<_kk|G^jLifZlpvo_mN(~Tb=C4 zz@QjWwGWZg+~>>K>TcUFZ;U+r7=iZaExu{H5ZWAB-mv~P-0S6#kiVES0UdZ$NL zHJVKuYE-i*ocWqj2O5WLoa=?C*NGx~7N4`O`Np|@Vwb(fqASDSzq2ER(OZvBEmdcr-bjgB~fA*bJG8u6tP)-U|~w$et9IfU!qrKV#< z^{chj449eq!zTS-MEri?F?)mc8?j_L_tb;^#4X@tk87^u4ddGBR!2g$!iA@Qnv73E z1K-TUbV=QEZ==A6K;>|r3bU`1PpP8>$HM^n>ySwI%oXpmH;6&+pS7@Ti^XUMyVP%0 zd|_BumD5v730jYJ#;sLQJqbYiN((M%2+ls@iJn6Ut$l@U^p&;bFn2CIb3`97UIz3^ zfC(*~5y;_9*~oJtJx?`xbCUOl%GJOB?Q)OMazpbg=DVKv%-yzVjn4eNaE|tRw`2j# z{BT>AQy_`?rtEJ9)&GU&?>SI>(-FwuAN1|yla`5FrjQx$0D@KU+*`x!h5HlvEKjQa zI$S(DQ#p2NiyaEfOA~;YhS0%vHEFVpj$Pl23CPr91Wk5Nw{fp`>(AvlH~(60*>O*V znrc`|G1{-je&%f%0FpdYo;tJf8P&eQbElf?%e@KOUcT^^jf24*&31a@Y~7`U_610Z zOttUVf?`w3+-_NQb=(!b*L=G&3$pcY@h*Sj=8c|O@i3x>XU*u*X^I4uX2G`0yzW;`{_Hbxk>J{gZT6P*>c(;t3mgdsydCsX#n>?t` z`~1Is7P>F*3kG|C*&lsWW`?Nu6tk5Qih6?tQ{8gXja#`j<}S>j$@ERCEKJSO=EuXK z0h{?{!KAcJ$QC10blxlIpWfW#yxJYiI?tN?U4I#KrG%y-xS^2(58ERHebU_cntOS0 zG0SYKUdujCiGz0-?}~Rjuj1>|^3MNPo*<;TkXDqLvVsyo@6+|HBERnHFeYFIATsN2 zi%>VvQOj9IKfw;^o;EvhJcyE&1jEF@MA1v6+1?5Bp!RphV)In#aD#85DHUwq-prLxx>Ik{ z3MrNUQ)S#^9thsP$s?!DDv=DSwkEvwCAl}RB*9x^)6+|iR#aZ)+& z#W_8(T(R3*M-l=FX$S4}3G}FJ&hPYEusspBI;#6Y669m7up$aL6w}ht8rf-rrx*9u zrXDT$s;wlMEL2&lHM>J#S|Jhtgz>G8mR9Vxtxn&<>7OEW6pMrpQExE?*GPwKQhh7A zyt;hcy>)oqo29H^zR|pBh3{*2YxsLUmKlva?FRABSwWwe^~+gG+=Q&E=TotzE&2k` z+Q>mht+;t7lsDBcFCu#!35y1%8R z|`hUcb#$<#UiyFxDC)zc`ibdE=~@4{a8?$#Xu7mmfV_^}---p^v#5 z4id+(Ymgk>D8AItLp86yJ}E%}vFOHIkPb*bXPI#bgHP{>Xwa9yy|awhXdRmFC$21t zAJvD8q%S!VaO+Fq`S8VCL&qPLgjSgNh8p91h5oVARJzu3_*bsmgLEncS%aak2Z_o% zjvbC@jg7u4ZqH)|X>;c7uly@_RR~!mu|zqeURH=nH&!M0dgTc5*W!zkt@&dH3}SzW zH2{CT8m+IT$#?tZsq0{}b@<_$az6B+zb|4jE$LpZM!?8mUp5Qu>t5pe5CDPZ>v@=w z+7Pc(r96Tq^!#2IT+f2w4zW+sk-?mSL^Q!&M^0H6AgCkaC=) zp1*;fo;8}~uOVYt6tig5$)T7GiQMWU&ou_Aztp^~x-Z^fP)*7d<@>PW$R-*$F=9f! zI~NWKQ9dpcm5!~4DoNRz?@(=_buHA;&~LAUXE+i6l6ph-A5A;WC*s&QRL3>^mf#W_ z65epwyH)zPczAcX;yi;Z{GB ziyuaA{nNaw7d(CnK;kSB)zxlfr6>QyiBY~IhJSfXRleuMdcqDU_Mjq-xrt}`U2C17 z)9+{QPki>RhWt-^pia-ebdj#0*GuJ7zU;2&td=lWdu8UPtX60HMC$ z(EqU4oEfV-f4_MJNl*t#@Mjkkbkn#0sxTFX$k2e{&ar*6`s>&4{!&+6q*1u*IoUIX z@V6IooS$`a_I9>3*9(!n^5mdvWE>AJ#IT*>%V|S(J)oRVRtg9)Fgfq$J!vZx3x3C7%Ulo}(M|CL0jtS-Ind+Pc{V5k1zO7=2ZP5;vVG1TcOl2llZ zI$X1?aGWYl9|<&Pfa0sjcjsFW_LI^jV5{(mT4MWAP;j-JmR5Y%y!bx_@vD>9GmY`z z9Q!b9R*By$e5g^rba~@*&+cQ^;FpmXMtM-n*PfieP%7bgwn zU9ZfymgbhsOJINzf%Z`BPyEa z;y;}tHjwb@cK{tChg|H|*#V=HuniPMd&3~6!k$Hb!uqb1fJ$17X} z`uqCSv~dz>)`OGq%vt%UWuH#>4xXa|T-Qb%ljPz}M{>@cpGTGxwj~0ze`QWx`59J1 z4|S-b>H=KA^i!1vSnriOg`nqKZyV=MhsSnJ88j(BnE`qld8 zJTAN#P7hSx<8LGgXMjYdmz$P3Lx3!D!B*0<(|LC-`xg=*TgPo#ZBb!R^aJbOax-LQ z!k6&iu{=LTGfhCEAf$p=fBtIrsLm(To|c@*KTtPG4l>P^bV(Im@Eh|onS5B{%LcEG z=x5SR48c@M+hF4~RRv`(^?ehKfDqza_F`{u@iy+v4g6|w&0iT<;~v^%3yJe`b#bxj znWLs*^Bg<5wTee|<2k?tzf!zIy0EHVx6QO3t_}(d9kFtge5H~(;1(po?hKNSn49$S zT79o=20qoxJcVMO*Q^0o0=x%6W=KUm(9FBZmc$6KWh+|(5F7b4u+`7|*(Y>UlvX=* zH=i8A4aXc1?Y12TiP>=VQ=FbA`3QY=2nsH7TZz}vh%LVV zuZSN0r!d8Za(O%ezH4#qPZLp1TXVf=DPLnRQ2+a!57f5Q^K@tQZxy#GZCKS8_gsJN zvp*uQ#dMe>ai7-neT|fy^%K*RtG6GUeLf*Cbb;*ZC9UTyPS)FKHpVs8Rw6kEWDnoQ z^S02Mmy>w{Udn!PAj~ci)=*rGc2!W{y|HNPdR+?(0Ou&6Xzhk)7-`}m$t)JiG1<)s7 z%rr+JVTyRTD|a3Q^+xe84Y8&5zdw7v`cq$X0O>^C!XhuWO5bBiZRUz7jk=$}NpqWE zQ{&t89ws4@u3|tvx&QbVFH=a)6FNZqG<+Q9c|K(_fJA*wLVDV&Rbw3H>~}x;Gfwn% zUu*wjR4rj{Mm7cq;5c{VxH%McOuSvL5hprxanZhpk~FPm_NDZ>h-cD z4_ux{j3lTSzyb2049eeYm+BW9E4*bS_aBN7n5nj#!s-QOw?>vgo) zANozM9YIpbDW7OyyUvd3x@748lZAsXOuOF7X6w#BAae| zL0-<6I3M$l08-F!1fBmIjSq*AS>lp8zTMHLTVwsM-si#6nkA>;e;ungWmQ*up&sNF zg97Xwn|B6p<5h{Fp**(m^~|7i5?5X1c@80|)k^weyK*mxzZ!k1CALR7U0iDnXuBpF zo!eEwzX3)gu0PbPj2o2lG5ARyj4VPMw|%;>t(;CLun|Y?&yDsAwIqL4 z%y%0dISJ3Z^L3F;V3-lI%akN2UF2Gh^3b4OQo}JJUCKvqJz(17TDiV(0tqc3tT!=e znVG1s2Tayd;kAg$&6@Ec8A#eeqHe4+OMc|LJWcKx=&dO8Z~vh=lcuzNKj#I=jSU&> z$!eBuJ&ux%g@+1Qi5Kx$_ch3C;zMcFJEc!~hoPOt5u^>LjSJVS@e6>s$xdGU#fR5b zNXmr6wXAii=co9}a#R*++S+S~+4gisoahCOBE2~=>$vT|`#BG|EJpSg^cjSbY;Hf* zFS#TF2gYB$;jaWw)2WXQVcWNKUt>o5Z{1o=C z4gxQ8m^H;u3haA|>NcROw6;VqsOD9sw2w@kh^547ICvrHiilp z_9y!84tbgL8A{sUhJa<5PvO(0!$E`el1j z&K7&sCHnu)Zl0kqQOxwhm_2?K#tjW$R$OH?{_t!Zn%DLT?uCQzQx*tb)XE84wEw%Ofiy~4GFHAR0B?nw` zEUyiJ)_GL(8O7^bQ)fRQ8bbe+8$MM3{|!%bu>KQd8x=*2rek6`dK4_KT<^Z^cSVa- z`+j-M@xMerD}{3t%##}WTOQYKM9o-*D(hVbnN>K4q%qwt!Q11Z?^P)H77MP5f4nDN z@NVV}&DOQn@oA%cj{oDALES};J7?#U(Lo4SKj^iMOl~L2q0eE zGWst3X8&_t3|+UFB}cp@O}uSnwO4jGV|ZorR?$xW*|sbEzYdQqsAfUN(*K(ueRl8G z<+wrbsK>rA)r}o-4pUsrs+{V*l1yQ97Qv)f3tkm5Yd5C)=>Ulvkx0eK0*3;zE4g2wZ3FfY-4(fReG*3zH)U% zYerze&d>X0)Yp5zznd7Gzr^|pdXGr?D~Yhc_e}pcQfPMX_2Ft?T*IHUaUA50hm%vh2a%Ermrex=EU+hX z$#63sx^vVotSEVXKl2Ag&ixF?=Qs4@%hr*K{LI^jHz;8v7`3P>Cti_!zYOu-!0zIeYq9IN1n1A za*kNI+8VLYv3n4K6&h;Z^QGtKFZR0-1&=hEaPqQFQ+0->=RPlVUMH%9^|=bC@~5#a zmq^G7FdK|Nd6&{DP41Rl97ZDY5Y*x+9<^54SfBv6;ED1#f2VDExCb9U{(dBV`ggrJ zTN)f+Ahz8GQ@2^>@_(*`GuevgUi_#@7Dp}-&16{?=%R*ZK&v!5vD9~aLm5vD!dc^2 z;r3Ic=if_>UcnFUE)@cWaX>yn6o(|hGl0KDCL5x#{0&!P2i|iZ7eY)outr~ijfu(= zOWt-ZK+5}k>&F7IH%^ItUqGP^#<`}hZ?MpS8)8Wk*eF8XDlo5jM{{Y-@F*@G>Brbg zbRA5al2TX_ChrnXr_$Pm^lLp~b%sOAFPfI>9^bJeTTj6I;eKl{OVXA&6(SwUUwR&6 z8h$k~Qpv2^?qNgq+hY=iQHA|Q?7MCGGIHk+LXSFg|YFWLGHtVz#~6BjRC zLi(k!Jh&T6+qM+K(^oc2>q~yZtR8t+SmB!F$#Kd4D{&zk(xNN+SZnp$5r_O25!KN4 z5-0-_ezNOSOq?pWb+!|kmMy?Y#lb=jo9NUp%3wkKa#aP%5kAD(XB|Lb;`+S6d0}H@ zwmHRnwe}gvp8jn*sP`<%5qldj6u#(AHf1gOh5b>miFSjD-*xq^=vug z4k>U-vs76ly!{>7)a3_JjVDNptNOCH&F2a59l6c#5x5v;A`P07EeAmyRh_z`!}De& zJgXD1Z(;ir&HDNq59~n6e`B4wX0hMp)A^MJY4YWZN@R9T9$StZ=*3<%2Ss{V#UHO8 zRBt8T$~W9&JYWu$66Dn-V0z{RTt5K{T?L<{Q5^l)rXEdcy%5D(@XnxFQK|eET4^Tz zIPH~e?2rlv%c>=pOWYMJ3vFg`NUTnaS^5f-_28)F zJav*!y9?7oZlPr?I?6KU_LOcfx4xtw5H-_lo~BLRGf<3{+(03S!U20qz3u5zV2Wrv z4Ot_!W>o2#&=!0XhJl^H_R%+i{+QZ11aE=l_XqZl(;1W+B!To?vBO^X&wEoYwlJW> z_2m#;a?jS`>oKh)ZY>df{hxh2GKki2Cs!FyNqGs6X*{^w57uX3W?-x6D-?J{KOhKp z;gP-yQ9F19HC1hRD#Q5cG5rSdWw-$aTjXpKwuLx(7u<3s--32+<&2f8x;`Ex?)-g>QvFD(w(?3RJCHE1LF$cxD_!CZP)(=! z6NMNxe{1{N!s|{!-Va7Jr{qyiO!gb2chGw2YLkU;6C}q3z|Sz~%=aH64@1b5q_X{x zn}Az?{9araZZ3hW(090%FHqvHo9L{i+MaaYwtG(}O?&{J)`{@!o`3Ori0#taqvbrl zfU!aSlA82I~K~1`e;^> zvWV*BLPHR*+vQ>W_Jicx$*p7C!O*}6@NwunES#)W`qmy(HKni$OHTLD1oln}m)v>{ zyKe&}(=p!5Z*)b?npCmQjrR=+vBxWL{>+nTprZ(!!Pw|vioU&C6O*`tan9%`cJT(> z`h5>5nj`;Qg!PGV_?Jv|H@w;XaUV*geAdgG3~1OV-GlA~R|vUyO0TfKx|_mbuW?rP zqP=Qed*pP%z+lYKO8e^c);ufM;nSygVlPk)`Um~~orax~mQ_OeztS)9nv-w-qgW;y z;Lek{`J-A?CtKm}!0}2(-pjdUCNe?i&u5faAbb;5%~dp_yAwQf9fSIg7COB}kOfUW zn%9B3_zyIZ?nG<+l+Cxn?#z-BiFzt2;)%eujysd-U4XUHYW-AIE^-hG5#?tD~=`})#-FluYgKB<1y0~oRsaI?EX8A``K6(qH zzSA8CohW5v5LlV3B+SA)yE6i z?g5*U!r{gNQS*FJ*TD^bO=m_EGS>_HBH|Vs_~kRR9C`U`jnQE?H80c1VW7xvlfs;~ z%(-U*!({9fxuo%d%Khs=NxdLxkE61Qpb{9FDD8{GVVGeGiYNbUq`lggd`S zk6$j)4LE=uAR97CS)g+r%|5zNlpa_Kj$JzxEGd-0gp{~L9c1(gfv)8%SQTzof? zWyxUovLDWIjW$Jh0N?=kQUFCpzIjGqpq4Ri-k5TgSSA<&K(}euB(t_t#sKB~n?7`c z{pZ7}q&^toX#Ds+NuU>XS!k3@bAUG9MB5n}#tkvce-rG|I$FPt-_t27H6YVQ5@kmj zdWdc5h4pti{2#+&nrs5xC6STD2ctyFaCFwP8nd`twsz{2hKJsRWyC0BPKLtsLcy|u z1&S0HP8IuxKIX;K-tsBl zlP6VTeNaGB2NR*pm)u%7Njs)2ov%~Lnn2|89=7dCTn^?V;t>mY0mYEyAHRvrSYlDN z^^^tpB>+g*wRqJ6y;UukqlwePv9& zlFt0YQ_mry=33_CIA5Mih^PH9C5fyDtq&B{0`9gkn}-&+q;~)jBUHJ6LjiAI9o=d zUE=l@h}%_%#Fv}No4O003l@c5e}vT<5E)=!ozq2^a=+bEItby zLPJE8ulA$F7zJS)Qp|O~hss{7cOw7f;E3`%_Kt>%5?*-C{F4v@>J3Nf^CSRE2s*uX ziidRq4$Ke4$*JsDpg&3wooPuHsS{?R=sshF!j>h(3Qyx=0fnZ~?_2vX_>YGWWZGR~ zTMDSP7`NhM@STl zTt?h2-fnEneffo$ntki^@=rvdT|Zuc*6t6u^S#<`q2)ep2+pyeka!Z`yMp|mbL9Q- zx8QSmihZD_6VyEdy@L&`SKd+zI=Yr>pbpAP@hGP?*yD)LGv7)Klmn#kuu?sZvR@xK zfjtx;!~1K}OUzCRhfM2@=gN3GfM$z?&kw<68~6%@@^96g*fR8_an0{x2|BBb^FFu2 z(Bt{Kx9n*GK7<-QqSt2#^+2=+e*Po%fmiO7W%r!f6SkpM#Wd~a0XTnY=qQ&JC2Q1# zlV|(cB&6*2r;-xahUl};BE)q({dN!YqdNR4_I%G(bs)0OD%9PS3{cF!>CDwIs-?Mm zyb>iOG;wb?5!hqD&H>tRIJ7%fzI*grpoa25O<%tJf08nJ@oR-#>j3lA@tFDaIinIj zQ#5fbX4H{LGeI_2U_d{v#jL?JEZZ^GWYz=j3_Q(1;(hKg)XjdNdgpim{&N7m!S8fR z6@p&H2#`BP$V~Y2sF;lB-V&mUJCCU_MxX{O*ouMShA3`(ljI4McY)WSI%qmae)5g? z!T0K<9?x3}iBSmK-)X)+)hxQQ?m$W~6rsFH)n> z=6A|u)3#XpOZL~laRtof-kOx|R?e4n%iBXeShbj%lu?^4rzgm$SG6-WVv_%at3BbM zD%{X*o7|OjBWhn7ef}{Fm2PFyFPT(95sqjy*fPc_OM)rMd&{uB?_1}Nv&q3$pcSwV zm_eQmyys1@cY!Ol#rgMFa;sx>{B^N_e>GscI{X?>!%Mc}vS?j}xd@CC+rr?`z4#5N zH0ezNjLFzOK=V8QxJTQo&LxYS%-OXhsIm$o&>XSsIz#;UGU*dQ637Atzb|$k5K(AX zW(HwwB)d1gMU_hEU$zz;Wue}IFgP6i_pjhu}Vvca_#b}WGBX_{264@+Qa+IL+ zl;BuEn3Bs_TV`;`Py52c+PA>-+~e~e`gteFef#AZf!!F6A4Zm2+!Qmb6s=g4oq|KGDr>L!o0b)5O)(07eG8K@_@frN$&+dFtFI=#dHR86 zPL6gU!VS2CUeu?y(5QIggGmCk8DnD-FMMY9%{&)C zzaf9e)q(B(^yKtp(!81F+lHeIUwB;$em70Rr1~lWY7K6}aMxIj#Fk+%)2yG6#5E^R z;7Yc}(!-O*(jnQl&a8egcE3w<7F3&yP}=n=<|<}x{I<=J_qznV3Q#eW zO~I8wsYL;0L1X%w)m^^3cI9hJ;|nhJ<%|-<#vcvcAy>oU!G21f(f1K8)<0>vbrm!2 z!8XcE-{7q_-Kjz(8{vKND4>@Mn1l-*EbpLp)K0G+!u6kz>%qekKUI(y+zDrHY=IN( zr-;7=KlbvwdO1g%jSKr>wGHvstTXWFcUMIcSB|OBp*v;Kc$!pL{f!l}-g^SgGCL5Q z24s=+e2agaFqJTpiB+!;Xu>Z3iuhC8cy?kKlgH~c2o(D}6Q_K#z}JiY4Qr?u6Y%h^ zKcFsn!|8_53~UCr`SL~klOx#r%eZW7vw$e(*&wj?fKuYTs6>y@LO)tw~MdU*3K zd!Qo;$ob;vf-p>P){tZTxZ7hNY%k&7sKXjY4-* zOWrO-|I0^jOrtWh!v<+)k8KYxInUj{>61yu*paiA@U9}K1SDL&$?xy3`G!{*c##?bzY>Qw$S~UO*#~Owg%S+$E807d9?{M)%v#YSv4xQ8uz0w z`p3YXTA3WKiaO|i>m}#Up1{TzzCKM|K8d^^{JuI*VYskeB7B7B29M`ora$?=Ecw+( z)TGKiK81e6z$+QAtJWRf_V}jgc>(D_$94SYoM~YAW%yEsZ+Bn@JLu6T?KI%;TX+N~Q7f42ukhNEL_NPG;yFv)8EW)g8RqgYV9$*t3BI;Bt+*kh4bUVyn zPXTgn14>fhu*SfG_5Em?)RbQ#atx2CsOLVmr9~-pdk{F2^^OEbp{p%6fJ3x?(F-i%+a7v!2C*Yo z=e(S9x7m*8b=V1FlOR8T0!!Uq-uvKVn*6Yd+@leTCGu*LNh8%}D}QjAsGIG@-}mgO z;ckaQQs&@!iWLl~KfQ9So^5fvg3CD5pwp8oq%peHUBMTDt!{Wd9t+DBmQkjCJ@w^M z)QJG`d9?b}t>a2zJ+I=*FlufO`h}BN2_=rv$n&JCPrDi=7AwN%FKzEqUgLb~Sr~#q z<11#xlc&2AZ{Uo0Ww%dmCf-|6&E9w(W`r>$G*;i^7&MYLVl-5|Cs0Au48Y;Ifbj=U zC*ig5{adBTio4^D(Z3BHE5H$tum0cMPqzU<#-Cc4cvSfqO+bDX9U<;`VopAV12|Yd4s3vQy)N%9U}I{o$I|+JWSP4aXS`rlhy^D zrhl5XF0fU!40ae6-~=cMN~hQ2OQetU$tPusi1Dnbx?*4=4bV{=tAnq?b}qT2Pd4Fw zF#r2oa1`MFasL1oibqZ!0#e$1G4WETg=~|}0sO(_v!wWe3v`{J-M#>!A6{%*Ej>!1 zk4TR6J4i}&{W=WGKG>{dX>?^W_FhJ(WdMvc7#TTWKPBa@!2{dIgJmeulI2zPJ^)J( zS5G$F>J!qfJk6)6k(>+!WbaWY?h>APIxXka!7A6rTpr$#QI=i7pBp=#)a z?%Imj0TusF!{o&h#%-X;lDN?n5J`4(&TFbzJE}JHHy63sr(F#YKMF~LK4e_++xEvd`|9Ia)_-q5Hi zPFO{+*OTDlD%OvFrAH1uDYGbyC%hC*Y<11=Sm>#SGd%pRjqai3Sm{Q}kQ_zq*eOFIQ;GMtpUFqyhVqFA=)u4Im*oJclWtfrAvRn zOq@g{cdqdNC?eOTu2L4}`{67}rl+PL_C&UL@S`a>L+(VWSOna|e~L_qWRYMhCep9L zLa_p?uuxJNbA{3q@X{(=djo&`EWqwti-^oPE%YE%=sX-v& zfcZWt!7tbDDQJsafmPEcz@d*0^zBVyC{bwA^qIJey8;HJ^CI(awWjJ+_Gv0wR4i!~ zI|0qW0h}O9H6Z0 zLa^%o;MZ=lNP6ZG#h?Q1x_To^h#Xl2Ig@ z(}lywJ5x!-q$*zI5C4gwWxux_Ml@*3|e>Bx8-aZx1c2KcEpzDFVL#(9Y}R)(lImjhnMCqcIa<1>XIGK zetotklLW^(0GF`>ok=b!fRzo-B{&1T$p;Xx(ZxL_Q}|yaep(5tYSo?$#h1C10j!Iy-&o^j2hb?{Ij8la(}P04=H0%!M=e*w z&tBdO=ZQvcCFsY000yj=DGSRT{W!Yil^2OGQ_`_iU2%@re*_Y1YOUwo9>!h#_bEpV z8aV!oF?o?~JS^FmOiRBFt6?Uz&h`s<4oFuzz&QDV*rKmY*D%T=s6)iuBVWki_FJzR zxW)A9Rs_6&*}MM5M%oxpEnY!qFG#oKkZarP-5B8Ywo2dru)^qkyA9L6{bWy8)lV>U zq4Et|j_Y$LJl6B`rR{s{nc;m$r3k(5scyQJ>_t7aHSGq@hZLnRDa-ceM#5~WAvmLv zEF&%1hDzR(Z#oe$Ic(5eL*aT*2Sc|}!Xp1tcc_x^Ef=ir?L@I6{CTeVUtAyDXeKH% zmV$KwLPBH{icfmgjX5S)Gz~~~xHq9LvU^qw|GxKn|I68&?$yU1 zbe7d!t;vtz6^%hj`Z0jfb&JcdM8M0sd0&v_X<$8J0Vf@lGxdc~Y4uxS5H9F0-z>8- z1-51t$)^FXP~J(i1}_yY=p-Pi7cXpqKE*#fWBd)_VNv6qq@^vGVZ(A3u(t+ZB%^aq zP~T#aXN8<{c|o_6vTNz$Tf~6qeH2`Y@oHf{xhP^Ec&=hyrDHD?}Uvp;)0 z8Z}uWKB09HDyDx0pZA}w;1d5Ri1b)^u{cY#@{;mUXMIxzr=ec@=-7T9eCQq_0@V2dALMAROaE)-1)%`Kc(KL%wKHErB98KEz+;;=pPDK9B~)4H3_i zUK%upY1(DSw!OS||Ds6fsHx|Ln}X>-=%WKpXs zi_~@eU7~*7_1*v>82$T7)HwtX!;9@#f3p_q^Um%tvi)VTlVAKAJ~pr3YMSQf<-|&y zU1~QP7U;{RGPR6@m0wOo8?gf+pALo`{V@^0$iKjHu;kmG<&UQ1%2HcTz3C$OCylj7 zZyC!$n#N%>tYalX-is(G@jjsPs^6y*rv8V+uVYxcRXJg|RPQg85(s5Ngl^F=fo`~} z#>#@l>%l7C6SjCX>K^F|MZJcN5~0ucNK|5`CNfg4PlJ(zMwy61{yeY#e&0JU1-y?% zL=oiqtd+=6R4xWEi`8S~I{g^{Dksg&jUZBmC^uFk0@(2%M=K9zV$526%mmtu{N;2c{z=re?6~ zm@Ym17+Y4P%h$D_F#x}}V0PPaa#o zALm09nCVZ#zpsi*Y*9{w5AGj=cfeu9SM=WLjcR&nz$gUDF&1cjslC zX8Taf51L_tC1PJ$DT4&)+#Eew^>7WI+YcBd0$+)F)GX%SXx33+BoQP3;PEE9_XTJf zJn{*~kpIg=)60LmHK{26X8M`C_I6{e`&K9UiS9Q$E7)z}>3{dRYJE0;T0ayC{Q!Tu zHucE?JUhI!2Rrk1=xoxNQ}A(5R~sX_P1t~kL;OMhEoxWiA8+&xWq#K0eEZ0q2R2|2ci*iN8XMF@*HhM~avX(&)_tOD1XDPN&h z@YyRvdnhb?4gN3D%BOe=4tSGioU!_a)(&54jC^a8$*p_s;GRG#L5H&+crDQ9 zP1YGa$q#M}UH;+yq{iNKu*mf#%Wfffj%sUfMh0BxsGGA~vA-L-`X}Qei*QNz`hMD& zuXaXj5VB~?DsElq^aZIa})T1?#6t_KHjL>y)fEZ%f>v`u6 zYlq3}$Qy+3Hk~J3hxr3R{}RQ`o4}_bqOQe+W47j%%%q*0-*F)x2R&gbcf!+j%eS=QSee(N1NSNLNSA0N6Uh$He;07=dHgf)#V1pQ zg)4K9+?Mx{< z-S_+{qJq>@NqTpY#-b|Fz8NNV4pOj}^{lg2O@FHLsS`#vf%Wbnuh|1}C7ibdB5faf0u z5hza z_-T(odA)e0ic|&Kx`T+R%)=VrLVtU}uC|q;EsT8OgoYVGM4HsXKmTw_cuF>a?e=wX z)M~83&zde%dbfuR^f*U^Z(^WUhrKEd<|{F_$8j@rb;{>3F+geccDBhR+6-r;w#9@@ zpj|m-5H8@g|7+yUTU%rCT+BXl)+X7Y!!G^32;rUi4Sn=tB=z6*>vx=}%8o{iGwGJ@ zsAmQ0=Z>2;9egN^ohX_**;^Nm%_kcQ@n3(j8C>q?)z%=DCM(tU-S(V^;vY&J$t-#N zSxd>aIxk`W&)2PG^bdxm_kT#0*Y?Ak*!ALQI-eV#y-YCBI!7ntl~l%O$NY!CcyOt&vZZ|y^FXVwq@JJuhoKOG`&rHy>MqTbIyg(D^uu>^P({U zR2Dr;XHzkEC}DTN87HDVr^8Df=P>&%ed96>UXMrCR6O5>W!$JIZ;S|AO-v?)o?6vE zeT4Sm+oURK(*$V!<8Tt*hAxqq*y$?EhWC>{{n1`YQ=f@>jz_fUSZwJMm(T~lW^&&76d2;E)qlVFkpKL&xJxiS%>))>$0I7DqKhRrdH`k8e|u{7W@tb z3>+GQ2f3eumEM|GWKrMA;v{m9%EjyhxFqH@oUOiksnKnlAS+$}SM7oo$;iL|lKK=7*cOi<#*tqc5F zOkXg?e6I95!jIYdSlgc@+RtvWS{ax3s^FYfsq{{x1%QiG<}zG2`1kR>*yR2V^EHdc zFW1i{`wNSEjouCZl{*gtO$jpVK)H|bb-N6#hy9SW6fcyz&TBt7X2@5NjjH#@eU~Q_ zbnPBKO}n+@-qxhNZQQ8aFqLBtAE;^6HBiI!wy)dU&O&SYx@kZ)e=LnaeZ#&m(tZ8x}4vRP%eqXBhME0~8EOOEq+A;+4(ZxU=hDlw9+ATRtsMs#CwKK^reaTD8*)nJ0hv zQM>arMz=RKVn?26GPbqf;VswK=Y1Z$*bg#dZEr6(jk=ztX_4Jj zu?)b&|IP`D1nXmzn06S9K`Wt(WP708H0KOX`5ovi6!bzuwdY2;-YU8Sqd&$+LqAFRM+uk4%nR0U2%-0bweW>f!@r z3!NMkr5;4s&k3hLRS){Ijre}le1V+2E%XgA{O%k}4<=L@V0UWb*JI<_5oPEV znL;2e79q17m=99)&f}t_bK$M@pU1n&#!k-9bI)z=B(@)r8S`HE$bw2KR;<+-r6XoU z!F;E-AqBg5O;^%cXYZ}*m#Yj%B>i9|et(2vTU3#%Aj`h74DfiUO#>omX3MY^!PC+c zX~~DUAV>M%!->N7?-|XLI{aX<6dnOPkS3U;Y`V+oLOFYKglm$aL{UBiTQI}GZqW1R zabOM#7@&RKG^%u$c`Xv>)=)G7QgVMOGKJ>;4=Pq_hTq=~KaPCt7c35k)VW%9Za@U7 z6PW@6EVoT_tX10m2XeA_b2^eIG<9Lm6BT1&5Tbs6Fd{peBqOD#MIsq8V0vUgm=ako zV+!Ue9Qh#S5wbsz)sXx5XkA*)z@s|bNr4yvH9Rle@htm4d{%!Sq$??+vS?Gtaw1g3m~M)U;DY#TPEEr|htPrTmo z#gGp<>P|y9`#9?z;_0uFq8wwEQaB31ZWn)lX70zQA3y$U=<3(^dQ){*^`VTP(Im1u zpHIHTqZvlrQdKWX*8cNM9mSYg=%J!@`pW@I{{w`bazyTkHBb)F=wZ#<8`T0+A!tPr@_|HY92T)WedWpj-@oY^Cdg8qv&XI>Sosvpr8MoZzygx4H2)W%J6oSVm1K2L4_9Hp| zSl}FrKay>$1&VHMKyYoQ3`;&)6uJK#Bp}E9iEOlSNZ8V!Rq_IjU?8YjRSVZdbmS)L zU`+Qm--&;l1661wG82_7XC>E_>H|0c3sv z6i$!Back%cxaoX^r=0G>*(7(y2N+NP@{wFVhHX$Vwplp`J!NG|E-yQox zEq$&4E}MospkLNmrKjPrF7~k3x_ld4|G+sbH~RE;czD=;b#8A1Xx2{vC}9=zANZf&T&V~h-dF!g(ywm}T)Ex>er@sy%3-(v*S(?+*9Z?lvUlPJZfU%Z;` ztnehdJTEaoe3=LadrVDFb2SjJW7}_KtH@yORNFG2#Xy3}wp#l1w%Uhr#wChBd-;ht%vG(WxYaXjvgjzm;^#>|=BvUJjKgY{ zh~jwmpSrh0Cc0~B&dB^pb($p)`-V-{Yp5lUKDYw()?ZzDs2E$dT+rrvurF+Z9n@Yr z!@sj)I}nSWp(2eLyP1-ylP%jSR@Qo@*?5tkD25IX6(@Y)d&BKizd>+$cHAz| z*meZ;3cvN%seHdCjvn7F6ijy?Hxx!)S4$XpybRVx<0oi0JEYeZ1L{?MffYcp#s655TI>cax|mq>~q9l ze-zgdR1YP`ug9TfYrTtxM~D)90b;X=$Z_8#QB|7EKlwiR*N|V43bK&B#p0!*^B1I4 z`w|!{B*kOXTy5objkGA?aJQlqu`CCLd(dKQB!u4dR(Z`j%$g+X7evH-dAQVy7V$IcVb zU*75)_|ScIu{&Ws>s#8!wlmdS|M8Se{d;;`O!;>A=$n%S;-7G|)u{5{&PnLY$-&f# z=j!}Y(;a{SH`7Oa$Df+@UC2DI4W00KjvBH{bei9P7)mmj)^%Hjb3geGzv&6i+o|Y6 zrcL~&&;7?|4fu5gP3uO>H6Q6bqc#9SfEU8##bJ5q;pE*^ob5m|^WPvqGd%h}l28Z$kIGHsXr&7)OZ`qo8yN50|9p*ro(U^odvpNzM9 zUKa??j0H`hFKD%T)TY_@ycq}hxo$7<+atiMPyV{B6-ohI-MeO|Id8qrN5>`t({5&_ zTg4QPvPAMXl)ipaHWN{~qG*6HxwEF)pzWk3^rGT=9^eQe2h6#BBRi5`X%P9`_-hK6 zv7$CPwv{oG0%y^ce_yva$__p^yi2x|kzbvg~9ea3w( zW7~~zPyz2uxma3Mc>7}uW%700^f&MUNej&Dw_Xi&nhkvz$3h@0j`#6_NF?P->z8_a z(xJessSR{b?ht7I8)YeC+$Aj0Ffy-VRM20rWw6=pWx8B~=C%zMSzP;B|}Aw)+le9}@1g&rs}n6>sFS zAO`3rnR4xUiX#l!d5Lq#d@`)ps<)wbwh?;AlpGTVp?`i2be9h%mG&mlpOQx2%h@#! zx1Tb@9F2*fSVt$YjPfd1G+fy&3wNGv4#IkH?QCQ%^pMPU$ht$H^5B&<@mjHSIc{N_ z^Li*6_llsV?5PGb3m7^4 z4`%Bj7Uqjcbj2LXWC+s_`fv|bVqYDUtUvC4;yScH!9twg+utu05}lO0d1!wqb-%kT z_oZh`vHuaWf75eo>+9JbCMIyI{PC$%cK=fpPC?`usGtz9ev+;atJ_7^bMS%L!us{% z^i6j5$1dbX+t$mxFR$MUpRgZY@f<}xpzsRHaqs4sy(ai`fQ^EAZsm5(w#!+zxrCb| z0wQ}QpOvR(Yp&Zy1|b>!dm<%5@ZSpBTr1V1WPAFIvT;zFY)lF?*1D^wZ^@%^YNSu)48-8yE zFjjRl`?Q~qH_O}V*tgKhIjJ9CY3(eshPxIm4LjMiwb75Y&ptGaRmSEUcy}&mAGxy? zBMu^MuC#&oXr+4!erB)5oNo(2H7H~~dUP=soUa#!#^E5>v!;aSxI6n5%#ilu7J3DX zuFg(;3)NMCpofmfTW4;V^sAsK!=>`HQt(vzQK&Czc_zlE{zs1SJg@F~?3Qq$%_n2n zdLBX?C|;TsMO;flZH~cs4i&Ba?uWJ08=n!K))dtpw{E}@B#Q8`x$-gt>2$z`(MD|m8kYI1>4r|-FypUhyfHU)JM3_>8ghV zGDAwndK_YH9Ng<{Krc4$ZI2uUlFj0Yp8Yu=6mWxZm%VkGe1aMIi_7$rzkWpjeDM>$ z9rF~$4i3BX`JXLV^igm^MyIqjndMv)^Nk_JKp2cl2-wsj?{*vuFD_Xf+(*E($@G+48QkP~=!&r>NbqiP|COX*{>#j#g+=YfmUQ@rr({GT9} zze;ASoMzE>1@!%1;xkWT8F9-}3BQy1PJoQd4_W#tK6pH}6zU#{h6!SzbL0`9ar~Zmd&+fusfF*xs`wBula+aD zn~i(GLJ7F3dL*c=ENr0|R}yQ$pKmh4VpTi#g^smdgcLgGHffU^R|6hcu6V|!>7ZhO z?fDxlH0?ns?o}-@ob*PzlB&}iXuZnm?Z=ifTl0#SK4V!z#82dWqN;!+huqbYsqObv zG^&QvSh#E>;RwJY!43JTWvJWj1NHOF4$~sDKn#qZB=^Fi<$Y(|C@jv z6Y0l#kzPXAmIa@?!|$6VZRxt)h_?upjTaW*(8l9e=*yK`T43%58QT{IuxM+2uc|YX zWxt_ZkUB7=7xIoD=kc4Cu z2@PAcOjO9#9co&Jk;lTxXt#jB>^*>7ANkuKu9q2m@f^RDNwtwSq)lA|bI1=p)v)+x z^g)y5hlc2TBKZnY8@c#y;N%_I6N-5-R^ExxU)J2H_r3G}`TG`Mwrg4zllv>*<%o%C z9q-Gj5BYdl%r?!J>~FXna!NF+dxo0dk&ax$ywEHr^oP71I}0L}QCeA@_egW6uI#rT zP^98rhd5n2isf2=?D#POum=qQS`Ee?JEReuBp$fE3Jx5_Le?`Sl3Sp2e9yz$#FS;u zv5SgCJ(uM3Jx2tL&5%|2!o%I;;>NJpHmLV)8|3>%;6u9Gx7kC<3%wdg3}Y+?!ja@K zfyNb;p_sdo2McfS)|GIagM28UnG^fgsHYF0lqyc|C~LagL$11H*OJ!JNoNx*>Fmu* z`g;XBOch+u&y+YElO-D$bv?-=1x^dnS$VE{=DLj}rG!gle^2YL>~O^$y4fv7qMs*? z(AGh?;xT4EWt@G-C@d|F$F*r7j<3&|j#Lo6Sqqn~vg#7!I;^mrBN@mcP}a68MSgj= zaJWSqs{EO1cM}EoM(@y!CIn&n z>&%ZmZ7Sy8NJ7Hau+T@96wSaiCi{=~JK_SNONcZ&>Oit^2eGO1Zps&;oZ)%I1t?yG zoo7Zti0FJ=PF6%vMAzx|{9FAch@a#sjyDjsekI>A_sVaGm-7iFDve2G9!cOBd+u}7 zMK~7@7{2gHo#jf0zr!GXdkpk`d->zk4X$(ik}Sv4Br{X_pZHXR3sNs#T-}%SF`u$| z&Xi3S#pf@fBcDRjPk`+m1LR-?n<;?fs?%=E==Z~vCoFnapbToJ3CUz8gO9s}^Mc>!yeX=+x2G13nknyh0DpXb|m0Xy1S3F*@J7#Dj<3*_%lZ>^+Tm0PaHFb!@ZvDq?1ISmRvA8r5r1i=^@%I z>={o|=flHhd+OP|+y$w6E1u7GKzv(8_tRk2Hvh~dNwj7YTXaqKr>^DdnYvA?vv1JQ zhsE<^WMXe>&SF0~GP6vkk*%IJI!)`i&JH57#z>CJFpJ#PFM1TG0YuSf`2r7;6-{^3 z7Fj<1Xpl5^!nT({h!+G+3G1)-0!{g)b)^XhOoU_#Dj+sK=kq>QB+>ZqeShOafL}7n ztX0@v-%CfuI#_1v@b;TEMCrR7#X?`cC>mrcdxJ>NQ6u@7fO>qR;y8i(9g)TIV>JK5 z@M`S1jb6(?aG z+b5%RBVy?UC96E3(R61&!+T4^|L_R7#mingZ;M|#GcCrHw;^w8ObCx2T#NuP>#r$8 zR-t4#S_edV`E2ORmAG64LU#gyP!M8ZCjJ*(4!Is{ju9(8+x%sJMTZU_Ay;f!r;zv~ z?Dm_$)_Aw$*8Y#_DyzI~CTK1&rrL(d&zBi?D(P?Q>k$j34S$lf;7cAVu`Nsz3%e4% z-!vUd4+h0uy~2IELJqr>qmxHryyU&DBWwB2mo0Xpu@yt)m zrJxB6YwQid;l!&I`WIVz5T#P%i>T(~HXa6Yb!YssA3kmd@ZR_sbN+3}b@hs&%?DLs z?g4Gc@7V$UtIYZ~WN^EnkGjhZC+?Ir0DPtv)q3CYVY!YSW3VC^KmwhIb4=RZ3J0(N z%vz7KK{7tRRV`4+9hgId|L&fpb$bJzwwZX4Mr+WxA4u022(Sr?`ffyv-y4&kea zs3)}VVVu8LaJ|%S_wiP0kF>yno+Y+}xn%apn?mu!->PB%OqZ)HHY+Pr3BMg;8L3!Q ztK|BS53n6PJ8IrxD6Y6g=Pa2C(rR)tw+mVRb8kQVB6uEZ^09qRmfg~n%hW}Z$QPub zIC?JBu8;d?!KKKCKKfP{|!bb~F6Nl8()Oz3fgpotHt z__f`mLPoCry4Y>^s4ua96^{fsjIqruxS&|9B{26v;peKC&~9>2rO0NQP-(JmWhv@Ld7Ye$+@PZxHQ$?Z7tIQf=59UZ>a=_c z>L`Sg0~;%=8i^7#%gz|Kmj^Qlu@sL)@I$r|POm6bMV`A`Uw);oiziChq#W=Ba)ui! zwf0Xt_0!x0UM-dD2@FE5JXtWchmYpFlRXhgw1YfibwJ}c9zYgy6X@Vc1Y`_)m(Dt9 zanQMAM)~jPaLxcRrt16Y>1pxuK$NkuiaV<^WS7N&%%%-AtTQQmhRpj~QEpm)#67jP z-Iw4vrO8CEi4Z#$Q=e#Qv|(GzJ!$^S*h5Bl)Y?3}v(o9?puzlw^U~=R=I!IreG6+g zkr)GEJc?AtQLl;qE9^W%o{@UIR}7gRzi`}d>w=Yn2NR@oJkwb@8j#2y|E&L%@qK1M zw%0yoZ@ZuVy(@X`yw$uOXRwv80Z!%muQ*Ts&5kQG11EHG)K9MaWU0N3dh=j zAjyf&awqXgie{w1%Rp>hDxTw-*lzq^Y=K?Z)8VgHi3wYA*ZLDpIgtYSd-wyHBtiAr zDK`9fy#f*F{`{x%zToQJ`HEwm73_=(h1Z_gA0N}0R;yxPUVjBQ-MABDQLdlT#kVoY z>DN*A$3-Vkrf4=QamRkEMDWp?Ii#%N z-oZ?_)hL3C!kja(+`tJcFKY|Pdad85odqZ#EG>B+m*U#(-T7nq+WVjJDhAf&>LAWF z16wt_vgKl2I-^YL%HyKo97rKEo;w1}xuVCxC>el~QuA`IBewi<%_m#;qMhp+|6U!$ zOl|kgc&w|P>~`$7w9}h{?1*tY)Z?P!vVk2ALKHAMx;*BUuJ^--r6SehZ;ENIOYR9v zk6E9xT^i?d*G&El8?wDs&Y#4`78km*pT%1c8Jn0+T?Wq88*t=#8si{nwnW;;ORX&_ z5=W~ZmwV}I+@4o^ySwtdEny5zRByScN9lcAz1_LC7zbFU?FPCBi1Y1iHE+LK>m^x2 zK01s_X8gjIHnrKj1~QEvt)=%hcnMIp`&k(#dU{T4 zS=yQ!dNYu3-QTaUMNwT>8nQC`${%!Ct1>xOXGGT4WL($gp3du$Wcx{%ZTi{aLD9@T z*x?=5rOF<>%zN5RwljCElkPuIrQg;HOkzj)R-Q%Hl8y)%seHT|8@PQ}c1|}U&?Tzh zEA+5&&q5&E5xA}=&2aq%e>I)8#&u+rc9RzZ*I47QeXi$63f9@%7Rc8_n__%uH^Yg+ zhiziqfoEvDSu4QSCS)~>+C`4w2b)bu5}Y2Ae!KokJNJOQd_v%RZ!eFzv=n1>b%nF- z^QN_Yz)D^XFEv8C6z*MlFp5fuWmAD%I*+?W2B{Zq_R{cF^+InuC$T6u*G*Ia{j!#I zZ9M#g@k}}(gP35dYUase+T&K(Xe^KUP*h$#T2Q_}kzbyVtLgy;QR6umM<_yW5b>PG z#-MqQ=Es__GaM7Hd34AK&&#&Y`K;$yrRmU0Y!8&gzBapgc;8*JwJUga7N%qK$mh=d z%48@QZwS8K1sF877xL2_LfJmSV72M+0``l^bEjC}DMDRd3<<)XM1@6D2@Une8_7=glqshN2 zrpJqmH|mYJyvT>U!fzpxz+~8QdxnHp0I9#Md$ZqJ`2AKz$e}61;psNEo*OYk8l*;u zFwN7`OdZ_Qch_^&T-^TI75cO?5wr@^R9xJhy=Bo-rqfKJ>J$6`-z&tKLwszf)8uAh zNb#BZ&{aL74QP#B*i8^<$wFmJw2Q)?+-1;d`asW^CTG{r?wgCJZ3Op42Xhpm z2Hw3l#+47<(>QhQZUo;oEa#UWjDp<6QH}?%wx5PyqT@k7atGPgwKE}&YWdv0S!(ia z->9v7u)h!69=O6DCFL}_LzMX8Tm8^|{(MAk{hmb-^?DI&)OXZYpmV-aP0f>GQ($6kC!dXU^LTWo{I){^wJ+R~Byc@H()=J!sd;ajW*-FKinWHzXAw6&Huee$ zo8NEA8v1Yrz-`L4u5Fg=d%0TYQM_8`p$C=XGk_pu+q#}MnJD*9%$)?=4d4B@M!a-1 zZO2QVtxu6T$FL}bo<>CUATUia0NED}D{W_+!$LDscSQM8BLnND??s~WbqJJBv7B-vy%MWtzOLfVC zEP55_@gTf1e-t&LOf-;L%t4Hv z;!BFV1w20$AcLbWT9#dawIk&BXkL>vX>+HA*6e?dNp(I%Nq4w>Y;t#W;Qs0SH)!G z)$JfxIu05x$Qbv?mo7bFDDBL2Ge6|r!!mvFJ=|u*OGC$>RuhfWOP;jR>fF_(jGl*u zmog?_q4U<$cpJBu=*)^ovjf#&5Cb?-`Qc^%yv87-rMnO3g>U2JXcpcKM4|I-FA$zl z`7NyP=D%rC?lSM~&(>cncYf*KV*!0l&%{x$@tIQYwqQZYHZD1Tcg0 z1wgf?%IwteXLtPBJtE`Ivry-+c-_cfT|G6ORVmY*zF93)C=%QSOf)~pUD^QEia1*W zFS{YfPDQ}%g;_kQZ*?mtg-sJLzPIwtrk(;l}%QXPpsS7ypX4Yd|$3Qw{49sffDA;2Qq)Aj`#} zN_B6OyyCh41yZ!L{)~?5@Q)hJPGG8`M{Yc_j~aSE>%}#CgRv23sMVH#0QELLX*3%^ z3ov0sdvg=lrU@Cg7e7@G5+MM&iA(okR%Zl+xrT0>#Foy0Y66rzuB6b69y7At@V61l(64wC#O zbYpR87V=`S8m*^&iyYAeLLEGy3=i$dD4u~BI%lz+XL$7tTi61{gr(v2tQR$OM4Uj5cxtABtK%O&xkfFJR2;9`rSIw&!tGK6} zh;rkx{jSxi%FIF8>W63nv4YuD`!{5mxDhvSTk}uuGwk@>`pGm6{_azv14$gn7 z{WkZV$E0Nax|}WctqH}S8@mH(#c3;t@ui5X)bTt)KRuCmtl%4T^}EF2oZVuL@pVeI zczc@U8WmWX=+eQO)(>=xzq;=!d91h)nF2j53HV&ec6iUCANgG9H@Zhb9~7Q9 zL!hyu{steRhTi}A)oYF9?luSOR2eCGNg~DKQi53R7x41MGjb}S&F3%Q1{rO?{rB}S z2sJ=zdq_UlB^LbtM@JUf7(c>0?qWmFuBNMG_pOxQxl$rh{|{`_3Os3!C10|3zJ7cD zuBp(_bGRr}iUl2)BB~$+d0E;g?R{l>L8lzAJOO$6W3K7XN6_Fo>o7#vLfqE2kDFSL1@F;`i&mUq0XVE)C54WaNtP;J2a%J?tZE;n9 z<0&b8Yky;6z@{+DG zQUn!P|G5Zm=&S;&qzOsvD}`LgG+nJ$<8hIEoyzproZ}>5vXB+>{}~PyjDMa+X0f+* z3NbZ|l-N&XU;%al7CmU{<_&(b{4TslMGFGgteg)WSzjPK{;)LR0D_D1lwGM($9xk@ z&h{SX@Ex1$Og;~gx0h2f_Iz`>K@WHG;@=v;AZ&2X? zLBojKl81i8^kwHD1Qp&Vs#emZ+XC@A5vPMCEQNJI=b3CYekifxPo3GUB#(dN_IIEd zE5H?Zd3{^!AV)GG1~QQ*8vh#LChJu}I}bAKe9WnD`ci!6@_4tIsFl-7oeN;-@Lorv_kQNX5tHMH5d5*07Vi^!IX3d}=mekHr=;15G zAJf7TJNzhrHvR8GDZr*|4aLnFq+-!<_lSTFLt)r;E*lIBb>g{Lq#rGE7R^kzNy6F+ zW#kvnL$u)LtAbM1ZgRH7cxC+%YFVo0PZRH!IY)&n@s%S@QT3SLw21xQhrf-13-#nz zDWPZ(^fluSl|J6LLZXx{**=H<^FmsNe;X)f;vxt|d**WA2tmB##mlMH8G~4bTzA!bkrNIP9hv zYf-Vbx&}7YOxha(Aj@k58}p`PBqx5vu-nCuLgN=qxspr?y zbNz01Yni%wB~zcrS42b$8V$#{gp=G!-ynnZW%1i&e z!1J6sXjZ5sBf1o5Q>tfO<)QFllbj&O>t9U9 z>W?q5Knyf2tx`GM{d7vbW+)bQCG@bU==rYmT*6dMsP*?SphTnb<29fb@!txOMe+D= ziJq%g@^N1Ky#)N7K5T{Ne0I3?uV=q^pFb?9&M*~MoI+t02or)DXrI-jC}j)d?`_%Q2uGMg!bymfca<%6#Vig#wD2aY5j`J~bbVPb6 zng7oi!Ao>tW_yfATfec3XT)Q$j<()++vsry5?P?w`Mk52K5&8KiwYHjo1Lm+li>Lv3kZ*YsV8?Ekgod5c zwdVy(QzZ2nsm0LCDWy-s>K{R|ky8A(+5+LWmNQ%yT*GyH_1Klpr1+mk{|mh} z;(*;@pZXW`Vey{-&!4D(h6fWQWXs!{<~6MqH<=tBf1>Xlkz%iQHihw8Sz+7k%ivE# z29#ketpLjC29-vGtRcEP=EPXoJ^XLw6c~aMD&Qm4G3TEuEp9pgv$esS$u+o#xZ+LhblY<9{0^3wG$rNQbfN(cAp{P!T;jFzUpdhl3p` z7>I&NfKi^(2!d0tA*-wj3rax!b1VRUWJ4sY(V%h8_aIhYA?VNc|MMLZLNHrP7Vs~n z>=P3uvv8hwbuCcm6Q{M>5cE?*jsm)4p$5g8wb~TL8LEo10fg=_{=Mmb~Xv0_~G|)i#P*oe*|NDfWd4QN~K>{$@#d%c8sDI~B;00P5coqT#0sQ~H_$WakgpM9| zjz~HxB{3kjjr9OnW}9_TmfL?bf9=1eilj6V5PJ9;mEgazLCd}(&;Mi*Pzox$w_<|V zK+iJdu~fN`_~%~~tU$v^v^hbvbz$Mjr~lbR4GUvNBe$3vQj#ZIlsVL^-=1JB)u9aTH>8=NU=a~?%yY#kgt@gGei?O1Cvvg^UISc zYVp%D2CN%P!p;BR46;g}&um3&S1!K4p{@^o?v|0?{$uL@EE<~Gdq-O~=Y`%+@n7c< z#xNvn6YUHk1v7GFosR!40z2tSA$5#|YZ-+_H7HB}zyDuEw!*dpkan~dG20Gd0F$^Q z2k`B8^qyO3e}8`%X6M_%j@Q%=yjt3^MZm2&`-&c45&V5&GjDzyOZV z4EFvSK$Z@0N-A0F5j!mUk*x9G7bv}|z?^3lReCWQ_cI8#B~L75(#5O`L&2#KL7`H| zVlD2!@DLT_SO1~*U6YfvdnU(!Rt5aSfl_~K$>XY@k4OYKD4~uGlUiER(savM?LP-1 zG`G*o|5`KvYpXMC*187u^c6^Cd82)PM}k(kYHL4ly2~>CIMcD1$C8nmuf?g9!t#!ymusle|NOTN z(N1v8j8ZYb;=fXFm&F7e|Xc zN4iC^TU#F{ zeAqc?IUh|d%=8-H0yj<0Eh-p>IX^1&4f5X|7~v*(P~l#$j$ArT7L@k`tq{aOPS9bF z>`|SmYTl+fITL{EPi0X&a|0S0Hj|7ZDgn*hn{Nm0P)LaGw`~A7*6>)YW%jw}KRX-r zjnuUrg}0n8i|-D@>IWorG{aXJeQ(3kT;_IvW45xy9u(VL7o8KG_AsE1(ED7`lSD?na+Dqt52lPKgqc$nH6qnY~h%#3vRC?Vyyy37(JA3Ig zlgBIj29lR*69X8=%n?wG99-)TOV<-n&+=$p3#Hu{mu8GFE^p&z0FGX6!jFhUjl3{# zOJ|{z{(Jz5F@gbZnzupU0m$7^Ei{ry{Q2)b+u{=g!h|h&J~IYYK+{EPjAPFi`At9> zt}?#UJ_lWng7=n87p5?*Z$e&x9zbG`@BxW6YTImKdBt3I?ar{sID@&-aES|g#Wwez z!7ten+)_cv_#~0M_n*_;)+8Sh{#pSqdP6YJfr?_pBfNi%>F*J%DAO;WQIS*!XrY0` zd_a~KB0?(+;a5ozCNTM9p>d2)$_*Odd0f#f!!nzwimZV5%M;-cvED(EmGSkc)9aOF zkDQL9WBcY+ggjUL;RpDx7h;tgl-!Wtx50z^CElr7+=1oqgh{@^lkj==9PGI6%_utC zP!425?@is07q5pxyTce;$?lHp+e??)woIp=V*wOX?a+sEuVc?;0IIIweiJROBJTNd z0Xl!TSvAOj*fPU$;S2x`GIsYL`xF{Ht?kG2Lai}mI-t|-kXqjRlP>1d!u*YJj%8LB z%w@<`{UOA8T8C0Pfljg?-T=1UW-Rg+aceLYhriKrJR|KSr}eGW);0i8azyNnU9_5> z?iiWS|N!sIY70F$k3pGMW;>l*gSKw z*ZqX^MG*Y&K->-6a%nk5L4Y~0s{La~69K_Z*RdFzERLxWL-coKRCos(E;=YKTz7Ov zMP=Djfz6T{Zx?)s3XH!X% z0>AzV>t>X&`bMdF5_6IUEUEwV`Xu_r>YkU>@tgz1{;!|xOkbdY+m$$NhiO74yWi7q zlc2Y|6u%3`+;;phns9n|fIC%7OjvkT9YAmd;CX6Fg!6GY4|JY;F9Pn%Hc>{eetjgb z9Pvv0lliuwp4#5jjSx3_`}|~&3+vlFiHHnQlqT0>o1o#ZC!f~1lRXFYN|91ofSMB; zRURcjo1#t2X^-*Jl$cC7D;s-1AlF?4cbm>BpuYRiXu}i|PL7L`#)~ z)o>(H1LbD<%%!t^9z)v*Q2YH~`E3gB?Xi3XxD;OdJ0a6#@1Q$4w4y5eodIF5^H=*+#{#m>(>TA76j z`sV?*bQ_<}_?83H2z}2ghm!b3khwNqO+W+J8LmzNMCHb_Dc`G|pCW)5C8MQ16Lvs7 z(kkZC%3`^%Kp5?3vk6&_$}T}Y*PyxOqhjvX6RG14TP^SUhyBm2<9?CQMgb=0 z{R=-r&<~jtCJ4PwzF+P8n=9uJ0^I{K?uj}sOWkDxcMFc=KxJgBR85U%5Xqwde%gyT3=6kE^$YN^Nl#K8oHn3%;y*8mE47N|~cZcl3) z2?6|N{=7-}8aX}trKq>qm0h&DOT?{ey6(BuYo|Tt0HRQc$>-1cx8^A*Lr#+vf1Lx( z27dMfmSh$cY{dYDlJd7rMbZ8zq~yO(z*HDd%7qS*r!N^)oPhj#6{SA6Kzgh(q3~m) z(QOY$n*lfRPS@3fqx>5lmy(yt^P}n|?%(0CYd#}^t4r&bGzprw8Qf3G(KimNM-xa@ zeS<6)oeVZ}i#(+_nM?~@AwZ_xFu+G(u9Fz|lwmzD{D ziXWxHp-b`J`3f%!MKJMN(RYD;aq!L?|H!s!H!rXJP8fS+siE|KTBNtvN(hom|r zpk9?}CSyoQ$oH3q=`77Y(1m!{6i|p5%)zPNk1XoS9Gpq?g-}2@LzRV|@4}iPVw87X z<`HsW(l=(%|8c_$$-eU|(2Wp!RlnpR9fU+^(_9Obg7FgriCBg53#7oP$Z8rQ>-NO?O37RMEc%~ zV4D%pmA77{TpUhMV^w676@NnET!GnL#NKk!r1>fU-XWdH^gipStTJ!suev<)obj>7 z*72&`y#`+#kxQdpm|k99*7dW;&9zS-qgh1=3C@J|SPQO(J2(r$9A?sT7@*Eq zUnp-m3rz-d?iFO`jQD(ur7@9=jk)@kcyuT~$Zl@`a2n~0k%ac0X5STZCpV6Sp;oFn zC42;oobh%Q#g~e$mJP%YkME=~iL&$qFlPQUpaQux^J#f2tCPUx#vsouh_DZ(-T(WG zJwViT`L#Id&^k=$t@xx1cieu(@cCndlW~{C1E9@a$cWX{-|CvUELY=h953|e$n8M3 zV!c3x>M4|NB%%C&*%`pXUDVGuV>gGuqLq5bB6{`q z>(96#4eJ|i%l8x`U+7C-FE~#x(qAY&cBk%+1{K+yobb8CW{5)txeu$0qoYKGrUMzlGuE#YgTi$DrOo1|9ZW<(CA20 z4%Z3@z{>ZfyF%vZ2p{o()ayQgfUb4m9nd=b?L94bLE(0)O`GHhz}Ub!L5;m1<|j_z z{^P=#v9Rq(R_9Y_cY!*Q=aq)3G{?^V5q(-4vNOpLmkGs%7x~#Ga z{OU`P(^Se00HApS58%Lkr|U5ghY{lz?4q=&Oqpxrly=HwWr})`Oc?PFo;m+SVvXf0 z>5y~MZ?IYP;L=fZ3yz;Vsh`&MOfI#aL6P@bcLMgs;Dz~w$pO0&Tq;LU{9FjLrej3J z7QN~Rk$wmmw>)*&t|YEko|qqeLfUvWr`Oj9_SlcpBn>wBbMmK&63i}}Ihv^ip#yF2 zg14wAPHot$p@(O*uk(I4h|l@KytmqJ{;G>hmPk?@A;?{tG)Q+~WVHGA{j;vPBhsQM zq~qaddJG8(VG2(lG$NY_l&ZZdCoc#mKk9#j8~}Y5vHh{j6Yc#!!!aV2O}K~7*XBII z!N(^LSkZfM>f|?%Ei1s@iR8Um3FvRZxW~C#;gNOr8KX2L?R5%uz46yMyWF1^o%mUR zMN4r15KuQWeT98-tZzVnMer$kds;VgdfNMB72aX7c6y*MniMgwJV3MA#9S=a96sg# z3qz}+7AcbuxDF&Ww^FV#Z2B%zt5S15chr36t63`mG2c*Y2gfHr|E`6cR4@Yo17bgb zuIj(~!NICPI=+)3FfT1EkX6{@Z+j5|_^0N{>Bt&cveOUnwhR?`gsEi0Z}3#v?;z`I zeXFqX@KRS!$aJfuG!xfW?&G)$?AeO#W$`qzT`!LN=boSTAW%r4;Tyv?Cm4#1bbOy_ zvFTjTC`JkL z!>Sy|3yC1?KUH4JGz3$Xypr2WQQjeZn!a*j&SKn+o!QT$Hzb9{`@lBUKD#z~(H655 zDE!)^M~O2BK&{Bf0lhtQ{9Y9eQ6oYc0zh-W7ED;;vlTC3bIrGXVtRtdF8a|8Xn>Pl z4fjT@9DB_^P~Li^IWZlsJTb!AD-B9=vng#W)8IIK=`>i_&ZelzzN-yX2`s`{%tt3g zGj=n=wBk4RPzM(c4)AH~qj!*+{8cJKxixrUUW(cPxddDE`CH+@7wnd4Oa{VU3YZwI z6c`K}{8uxClgJ~EbuEzQCLvOcJs67xZP5C9-|EX#W0KExK)V+X6$UsTvZK-rKS5(g zHp7ZW!K3gdmMiIU#xK*}GOZwO=Hl%sV+E8&dYKCDXg5Fe7xt6kI%0D6RJz=N1;X?z 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 literal 0 HcmV?d00001 diff --git a/mac/slowllama/slowllama/static/finetune_fwd.png b/mac/slowllama/slowllama/static/finetune_fwd.png new file mode 100644 index 0000000000000000000000000000000000000000..00dc318687010c46eaf602cc66605578e8bf3cdc GIT binary patch literal 339067 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 P}e~#Z)o0gf^vTaQwI!%D|BV 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%0Awv@z1SMEPDE|Zpo|PE2b(- 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 z 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�Qshw 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

c`+08VzWTa6T_2?@(^Ws1=y@^!B*N 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
>7`wF2(cd=6_XI^)qhaF%@}oK=K^ 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℞l0EsnXdlV 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 literal 0 HcmV?d00001 diff --git a/mac/slowllama/slowllama/test_data/cubestat.txt b/mac/slowllama/slowllama/test_data/cubestat.txt new file mode 100644 index 0000000..1dba614 --- /dev/null +++ b/mac/slowllama/slowllama/test_data/cubestat.txt @@ -0,0 +1,9 @@ +Cubestat is a command-line utility to monitor system metrics in horizon chart format. It was originally created for Apple M1/M2 devices, but now works on Linux with nVidia GPU as well, including Google Colab environment. + +Currently cubestat reports: + +CPU utilization - configurable per core ('expanded'), cluster of cores: Efficiency/Performance ('cluster') or both. Is shown as percentage. +GPU utilization per card/chip. Is shown in percentage. Works for Apple's M1/M2 SoC and nVidia GPUs. For nVidia GPU shows memory usage as well. +ANE (Apple's Neural Engine) power consumption. According to man powermetrics it is an estimate, but seems working good enough as a proxy to ANE utilization. Is shown as percentage. +Disk and network IO; Is shown in Kb/s. +Memory usage in % diff --git a/mac/slowllama/slowllama/test_gen.py b/mac/slowllama/slowllama/test_gen.py new file mode 100644 index 0000000..abab324 --- /dev/null +++ b/mac/slowllama/slowllama/test_gen.py @@ -0,0 +1,25 @@ +import logging +import torch +import sys +import os + +from llama2_loader import load_frozen +from utils import Tokenizer, greedy_gen +from conf_fp16 import * + +logging.basicConfig(format='%(asctime)s %(message)s', level=logging.DEBUG) + +lora_weights = sys.argv[1] if len(sys.argv) > 1 else None + +tokenizer_path = os.path.join(frozen_model_path, 'tokenizer.model') +tokenizer = Tokenizer(tokenizer_path) + +model = load_frozen(frozen_model_path, dropout=0.0, lora_rank=lora_rank, frozen_dtype=frozen_dtype, compute_dtype=compute_dtype).to(device) +if lora_weights is not None: + logging.debug(model.load_state_dict(torch.load(lora_weights), strict=False)) + +logging.info('Model loaded.') + +prompt = 'Cubestat reports the following metrics: ' + +greedy_gen(model, tokenizer, device, prompt, max_new_tokens=100) diff --git a/mac/slowllama/slowllama/utils.py b/mac/slowllama/slowllama/utils.py new file mode 100644 index 0000000..fa56f85 --- /dev/null +++ b/mac/slowllama/slowllama/utils.py @@ -0,0 +1,94 @@ +import torch +import sentencepiece +import logging + +def device_map(device): + if str(device).startswith('mps'): + return 'mps' + return str(device) + +def device_supports_dtype(device, dtype): + try: + a = torch.rand(2, 2).to(device).to(dtype) + b = torch.rand(2, 2).to(device).to(dtype) + c = a.mm(b) + logging.debug(f'success, {device} supports {dtype}') + return True + except TypeError as e: + return False + +global_id_auto = 0 + +def next_id(): + global global_id_auto + new_id = global_id_auto + global_id_auto += 1 + return new_id + +def save_rng_state(device='cpu'): + if device == 'cpu': + import torch + return torch.random.get_rng_state() + elif device.startswith('cuda'): + import torch.cuda + return torch.cuda.get_rng_state(device=int(device.split(':')[1])) + elif device.startswith('mps'): + import torch.mps + return torch.mps.get_rng_state() + else: + raise ValueError(f"Unsupported device: {device}") + +def restore_rng_state(rng_state, device='cpu'): + if device == 'cpu': + import torch + torch.random.set_rng_state(rng_state) + elif device.startswith('cuda'): + import torch.cuda + torch.cuda.set_rng_state(rng_state, device=int(device.split(':')[1])) + elif device.startswith('mps'): + import torch.mps + torch.mps.set_rng_state(rng_state) + else: + raise ValueError(f"Unsupported device: {device}") + +def greedy_gen(model, tokenizer, device, prompt, max_new_tokens=50): + tokens = torch.tensor(tokenizer.encode(prompt, True, False)).view(1, -1).to(device) + model.eval() + for _ in range(max_new_tokens): + logits = model(tokens) + logits = logits[:, -1, :] + _, next_token = torch.topk(logits, k=1, dim=-1) + logging.info(f'next token: {next_token} {tokenizer.decode(next_token.tolist())}') + tokens = torch.cat((tokens, next_token), dim=1) + + for i, output in enumerate(tokens): + logging.info(f'{i} - {tokenizer.decode(output.tolist())}') + +def greedy_gen2(model, tokenizer, device, prompt, max_new_tokens=50): + tokens = torch.tensor(tokenizer.encode(prompt, True, False)).view(1, -1).to(device) + model.eval() + for _ in range(max_new_tokens): + logits = model(tokens) + logits = logits[:, -1, :] + _, next_token = torch.topk(logits, k=1, dim=-1) + logging.info(f'next token: {next_token} {tokenizer.decode(next_token.tolist())}') + yield tokenizer.decode(next_token.tolist())[0] + tokens = torch.cat((tokens, next_token), dim=1) + +def cleanup_cache(device='cpu'): + if device.startswith('mps'): + import torch.mps + torch.mps.empty_cache() + + +class Tokenizer: + def __init__(self, path): + self.model = sentencepiece.SentencePieceProcessor(path) + + def encode(self, text, bos=False, eos=False): + b = [self.model.bos_id()] if bos else [] + e = [self.model.eos_id()] if eos else [] + return b + self.model.encode(text) + e + + def decode(self, tokens): + return self.model.decode(tokens) From e83f19106ab5652464d69eb7a545c9365840e074 Mon Sep 17 00:00:00 2001 From: jazelly Date: Sun, 5 May 2024 19:57:35 +0930 Subject: [PATCH 12/96] update submodules --- .gitmodules | 3 - mac/slowllama/slowllama/.gitignore | 8 - mac/slowllama/slowllama/LICENSE | 21 - mac/slowllama/slowllama/README.md | 298 ------------- mac/slowllama/slowllama/blackbox.py | 60 --- mac/slowllama/slowllama/chat.py | 29 -- mac/slowllama/slowllama/conf.py | 55 --- mac/slowllama/slowllama/conf_fp16.py | 9 - mac/slowllama/slowllama/conf_fp32.py | 8 - mac/slowllama/slowllama/docs/a10.md | 64 --- mac/slowllama/slowllama/docs/lora_weights.md | 416 ------------------ mac/slowllama/slowllama/e2e7b.sh | 6 - mac/slowllama/slowllama/finetune.py | 58 --- mac/slowllama/slowllama/finetune_dolly.py | 93 ---- mac/slowllama/slowllama/llama2.py | 380 ---------------- mac/slowllama/slowllama/llama2_loader.py | 202 --------- mac/slowllama/slowllama/logs/.gitignore | 2 - mac/slowllama/slowllama/merge_lora.py | 17 - mac/slowllama/slowllama/model_config.py | 27 -- mac/slowllama/slowllama/plot_lora.py | 48 -- mac/slowllama/slowllama/prepare_model.py | 14 - .../slowllama/static/finetune_a10_7b.png | Bin 176530 -> 0 bytes .../slowllama/static/finetune_combined.png | Bin 327766 -> 0 bytes .../slowllama/static/finetune_fwd.png | Bin 339067 -> 0 bytes .../slowllama/static/finetune_m1_7b.png | Bin 209732 -> 0 bytes .../slowllama/static/llama2_70b_m1.png | Bin 213506 -> 0 bytes .../slowllama/test_data/cubestat.txt | 9 - mac/slowllama/slowllama/test_gen.py | 25 -- mac/slowllama/slowllama/utils.py | 94 ---- 29 files changed, 1946 deletions(-) delete mode 100644 mac/slowllama/slowllama/.gitignore delete mode 100644 mac/slowllama/slowllama/LICENSE delete mode 100644 mac/slowllama/slowllama/README.md delete mode 100644 mac/slowllama/slowllama/blackbox.py delete mode 100644 mac/slowllama/slowllama/chat.py delete mode 100644 mac/slowllama/slowllama/conf.py delete mode 100644 mac/slowllama/slowllama/conf_fp16.py delete mode 100644 mac/slowllama/slowllama/conf_fp32.py delete mode 100644 mac/slowllama/slowllama/docs/a10.md delete mode 100644 mac/slowllama/slowllama/docs/lora_weights.md delete mode 100755 mac/slowllama/slowllama/e2e7b.sh delete mode 100644 mac/slowllama/slowllama/finetune.py delete mode 100644 mac/slowllama/slowllama/finetune_dolly.py delete mode 100644 mac/slowllama/slowllama/llama2.py delete mode 100644 mac/slowllama/slowllama/llama2_loader.py delete mode 100644 mac/slowllama/slowllama/logs/.gitignore delete mode 100644 mac/slowllama/slowllama/merge_lora.py delete mode 100644 mac/slowllama/slowllama/model_config.py delete mode 100644 mac/slowllama/slowllama/plot_lora.py delete mode 100644 mac/slowllama/slowllama/prepare_model.py delete mode 100644 mac/slowllama/slowllama/static/finetune_a10_7b.png delete mode 100644 mac/slowllama/slowllama/static/finetune_combined.png delete mode 100644 mac/slowllama/slowllama/static/finetune_fwd.png delete mode 100644 mac/slowllama/slowllama/static/finetune_m1_7b.png delete mode 100644 mac/slowllama/slowllama/static/llama2_70b_m1.png delete mode 100644 mac/slowllama/slowllama/test_data/cubestat.txt delete mode 100644 mac/slowllama/slowllama/test_gen.py delete mode 100644 mac/slowllama/slowllama/utils.py diff --git a/.gitmodules b/.gitmodules index ce2a89d..50d5412 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ -[submodule "mac/slowllama/slowllama"] - path = mac/slowllama/slowllama - url = git@github.com:jazelly/slowllama.git [submodule "llama-gguf/llama.cpp"] path = llama-gguf/llama.cpp url = git@github.com:ggerganov/llama.cpp.git diff --git a/mac/slowllama/slowllama/.gitignore b/mac/slowllama/slowllama/.gitignore deleted file mode 100644 index 0a4859d..0000000 --- a/mac/slowllama/slowllama/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -**/__pycache__/** -data/** -*.log -frozen/** -inputs/** -model/** -llama7b_serve/** -out/** \ No newline at end of file diff --git a/mac/slowllama/slowllama/LICENSE b/mac/slowllama/slowllama/LICENSE deleted file mode 100644 index fd1950d..0000000 --- a/mac/slowllama/slowllama/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2023 Oleksandr Kuvshynov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/mac/slowllama/slowllama/README.md b/mac/slowllama/slowllama/README.md deleted file mode 100644 index d1aba1e..0000000 --- a/mac/slowllama/slowllama/README.md +++ /dev/null @@ -1,298 +0,0 @@ -## slowllama - -Fine-tune Llama2 and CodeLLama models, including 70B/35B on Apple M1/M2 devices (for example, Macbook Air or Mac Mini) or consumer nVidia GPUs. - -slowllama is not using any quantization. Instead, it offloads parts of model to SSD or main memory on both forward/backward passes. In contrast with training large models from scratch (unattainable) or inference, where we are likely to care about interactivity, we can still get something finetuned if you let it run for a while. - -Current version is using LoRA to limit the updates to a smaller set of parameters. First version supported full finetuning as well, but I decided to remove it for now, more on that below. - -Finetuning is the only focus, there's nothing special done for inference, consider [llama.cpp](https://github.com/ggerganov/llama.cpp). - -For CUDA-specific experiments, see [report on a10](docs/a10.md). - -It is all very experimental, but even more so for CUDA. - -### Example - -Tests were done on Apple M1 with 16Gb memory and Apple M2 with 24Gb memory. - -In order to fine-tune llama2 model we need to: -1. Install dependencies: ```pip install torch sentencepiece numpy```. Optional: install ```pip install fewlines``` for [weight/gradient distribution logging](docs/lora_weights.md). -2. Clone [llama2](https://github.com/facebookresearch/llama) and follow instructions to download the models. The script will download tokenizer as well. ```tokenizer.model``` should be put into the same directory as llama model itself. Use [codellama](https://github.com/facebookresearch/codellama) for CodeLLama models. Example folder structure could look like: -``` -/parent/ - /slowllama/... # <- this repo - /llama-2-7b/... # <- put tokenizer.model here - /llama-2-13b/... # <- and here - /llama-2-70b/... # <- and here as well - /CodeLlama-34b-Python/... # and here -``` - -Let's start with a [tiny example](test_data/cubestat.txt). It is an intro to the description of another open-source project - [cubestat](https://github.com/okuvshynov/cubestat). Text is short enough to just be included as part of the prompt, but it's ok as an illustration and you can read it in seconds youself. As I just published that project recently, there's no way original llama would know anything about it. - -Asking base llama2-7b to complete the prompt _"Cubestat reports the following metrics: "_ results in _"1) the number of cubes in the system, 2) the number of cubes that are in the process of being created"_. - -First step is to transform the model to the sequential format more suitable for loading to/from storage block-by-block. - -``` -python prepare_model.py -``` - -The paths to the input and output models are configured in the conf files. There's a base file [conf.py](conf.py) and two files with some overrides [conf_fp16.py](conf_fp16.py) and [conf_fp32.py](conf_fp32.py). By default [prepare_model.py](prepare_model.py) uses fp16 config. Modify these files with the paths you have your models in. -The scripts below use the same configuration files as well. - -Now we can try not-finetuned llama2: -``` -python test_gen.py -``` - -Now let's finetune the 7b model. [finetune.py](finetune.py) is a very simple script which trains LoRA weights based on the plaintext data. There are some settings you could change here, like sequence length, batch size, learning rate, dropout rate, number of iterations. Current settings are pretty much a guess, change this if desired. Currently it uses AdamW optimizer. - -``` -python finetune.py -``` - -Here's train dataset loss: -``` -2023-09-10 22:05:35,569 backprop done, loss after forward pass = 2.9539270401000977 -2023-09-10 22:06:08,022 backprop done, loss after forward pass = 2.9073102474212646 -2023-09-10 22:06:40,223 backprop done, loss after forward pass = 2.7192320823669434 -2023-09-10 22:07:12,468 backprop done, loss after forward pass = 2.7223477363586426 -2023-09-10 22:07:44,626 backprop done, loss after forward pass = 2.5889995098114014 -2023-09-10 22:08:16,899 backprop done, loss after forward pass = 2.4459967613220215 -2023-09-10 22:08:49,072 backprop done, loss after forward pass = 2.3632657527923584 -2023-09-10 22:09:21,335 backprop done, loss after forward pass = 2.250361442565918 -2023-09-10 22:09:53,511 backprop done, loss after forward pass = 2.165428638458252 -2023-09-10 22:10:25,738 backprop done, loss after forward pass = 2.031874656677246 -2023-09-10 22:13:45,794 backprop done, loss after forward pass = 1.8926434516906738 -2023-09-10 22:14:18,049 backprop done, loss after forward pass = 1.7222942113876343 -2023-09-10 22:14:50,243 backprop done, loss after forward pass = 1.58726966381073 -2023-09-10 22:15:22,405 backprop done, loss after forward pass = 1.4983913898468018 -2023-09-10 22:15:54,598 backprop done, loss after forward pass = 1.296463131904602 -2023-09-10 22:16:26,909 backprop done, loss after forward pass = 1.3328818082809448 -2023-09-10 22:16:59,031 backprop done, loss after forward pass = 1.0978631973266602 -2023-09-10 22:17:31,200 backprop done, loss after forward pass = 1.018444538116455 -2023-09-10 22:18:03,406 backprop done, loss after forward pass = 0.8421685099601746 -2023-09-10 22:18:35,673 backprop done, loss after forward pass = 0.7168515920639038 -2023-09-10 22:21:55,482 backprop done, loss after forward pass = 0.7870235443115234 -``` - -I didn't add a validation set for this data, instead I just checked what would the fine-tuned model produce for the same prompt. - -At ~10 iteration we get the following reasonable output: _Cubestat reports the following metrics: 1. CPU usage, 2. Memory usage, 3. Disk usage_ - -At ~20 iteration another output is produced: - -_0 - Cubestat reports the following metrics: CPU utilization: Efficiency and Performance cores. Shows as percentage._ - -Maybe we were overfitting already at this point. - -Running completion with newly produced lora checkpoint can be done like this: - -``` -python test_gen.py ./out/state_dict_19.pth -``` - -### How does it work? -For all versions the process is roughly the same. - -First, we need to be able to load a model which requires more RAM than we have and save it back in sequential format. We create model instance with all large modules' weights offloaded to SSD - all of the transformer blocks, token embeddings and output linear layer. After that we [load model shards one by one](https://github.com/okuvshynov/slowllama/blob/main/llama2_loader.py#L69), for each shard iterate over all modules, update corresponding subset of its weights and save it back. - -Doing forward path is easy - we just load modules when we need and pass the output forward. - -Backward pass is a little more tricky, in a way we have to run forward pass twice. The way it's [currently implemented](https://github.com/okuvshynov/slowllama/blob/main/llama2.py#L307) is: -1. Do a forward pass while also saving inputs to each offloaded block to the SSD. The goal of the first forward pass is to compute the final loss and cache inputs to each offloaded block. -2. Then, do a manual backward gradient propagation. We start from the last block, re-run each block once again (forward, to build autograd graph) with the same input we cached on step (1). After that we run backward pass within that block only, and pass the gradient for the input to the next (previous?) block. As we use LoRA, only LoRA gradients are being saved. LoRA weights are not offloaded to disk, always staying on RAM/GPU. Important: we also need to save and restore random number generation state before evaluating each offloaded module. During training we use dropout, and randomly switched off neurons should be the same on both forward passes. -3. After that we run optimizer step on LoRA weights and save them separately if needed. - -Original llama2 weights are in bfloat16, but mps backend doesn't support that type natively, so we do computation in float32 instead. - -Experimental version of slowllama which can be still found [here](https://github.com/okuvshynov/experiments/tree/5cf944cb1274e577d1e755e6ad1957190d286d9d/split_model) was capable of doing full finetuning and update all weights pretty much the same way. I've temporarily removed that feature to preserve the lifespan of SSDs, as frequent write operations can degrade performance over time. Reading from SSDs isn't an issue, but they do have a write limit. Limit is typically high enough for normal usage, but in the case of full finetunining we'll have to write ~150Gb per one iteration/weight update of 70B variant, assuming stateless optimizer and no gradient accumulation. With AdamW we'll have to save/update another 150Gb more of optimizer state per iteration. If, for example, we assume 1Pb of writes before SSD will start having issues, even 100 iterations of finetuning would incur significant cost/risk. - -### Experiments - -#### Llama2 7B finetune on M1 Mini (16Gb memory): - -![finetune on mac mini](static/finetune_m1_7b.png) - -Here we can see resource utilization for 1 full iteration on 7B model - forward and manual backward passes. Each column == 1 second. A few notes: -1. GPU is reasonably well utilized; -2. First forward pass has lower GPU utilization and spends more time on IO as we need to both read weights and write cached inputs/outputs -3. Backward (combined?) pass achieves very high GPU utilization, close to 100% -4. As we move along layers back and forth, right after each 'direction switch' we process layers in LIFO order. Thus in the beginning of both forward and backward pass we don't have to access disk, weights are being cached and we don't see disk reads. - -batch_size/seq_len - works ok with, say, 2048 seq_len and batch_size = 2. - -#### Llama2 70B finetune on M1 Mini (16Gb memory) -![finetune 70b model](static/llama2_70b_m1.png) - -The chart here has different granularity - each column is 30 seconds. Input data was also different - it is the readme file you are reading now. -I didn't have enough free space on disk to store both original weights (140Gb) + weights in sequential format we use (another 140Gb). In order to still be able to finetune this model, I stored original weights on much slower external SD card, as we need to read them only once. Weights in sequential format on fast internal SSD. -With batch size = 16 and sequence length = 128 it was taking ~25-30 min per iteration. - -As we can see, GPU utilization doesn't look that great - we might be able to benefit from prefetching next transformer block, assuming we have enough memory for storing 2 layers. Memory utilization peaked at around 80% of 16Gb. - -Loss over time: - -``` -2023-09-13 17:30:28,731 backprop done, loss after forward pass = 2.431253433227539 -2023-09-13 18:00:00,133 backprop done, loss after forward pass = 2.604712963104248 -2023-09-13 18:29:36,473 backprop done, loss after forward pass = 2.6277880668640137 -2023-09-13 19:00:40,463 backprop done, loss after forward pass = 2.408756971359253 -2023-09-13 19:29:55,974 backprop done, loss after forward pass = 2.6121537685394287 -2023-09-13 19:59:04,849 backprop done, loss after forward pass = 2.428431987762451 -2023-09-13 20:27:03,760 backprop done, loss after forward pass = 2.4040215015411377 -2023-09-13 20:55:56,969 backprop done, loss after forward pass = 2.158071279525757 -2023-09-13 21:25:04,615 backprop done, loss after forward pass = 2.3459620475769043 -2023-09-13 21:54:07,128 backprop done, loss after forward pass = 2.2933709621429443 -2023-09-13 23:18:57,588 backprop done, loss after forward pass = 2.273494243621826 -2023-09-13 23:48:05,310 backprop done, loss after forward pass = 2.4055371284484863 -2023-09-14 00:17:19,113 backprop done, loss after forward pass = 2.2604546546936035 -2023-09-14 00:46:31,872 backprop done, loss after forward pass = 2.552386522293091 -2023-09-14 01:15:45,731 backprop done, loss after forward pass = 2.297588586807251 -2023-09-14 01:44:51,640 backprop done, loss after forward pass = 2.1217401027679443 -2023-09-14 02:14:09,033 backprop done, loss after forward pass = 1.9815442562103271 -2023-09-14 02:43:09,114 backprop done, loss after forward pass = 2.020181179046631 -2023-09-14 03:12:17,966 backprop done, loss after forward pass = 2.0041542053222656 -2023-09-14 03:41:20,649 backprop done, loss after forward pass = 1.9396495819091797 -2023-09-14 05:06:31,414 backprop done, loss after forward pass = 2.1592249870300293 -2023-09-14 05:35:39,080 backprop done, loss after forward pass = 1.976989984512329 -2023-09-14 06:04:57,859 backprop done, loss after forward pass = 1.7638890743255615 -2023-09-14 06:34:06,953 backprop done, loss after forward pass = 1.9829202890396118 -2023-09-14 07:03:18,661 backprop done, loss after forward pass = 1.754631519317627 -2023-09-14 07:32:26,179 backprop done, loss after forward pass = 2.027863025665283 -2023-09-14 08:01:37,546 backprop done, loss after forward pass = 1.8579339981079102 -2023-09-14 08:30:41,689 backprop done, loss after forward pass = 1.7934837341308594 -2023-09-14 08:59:55,921 backprop done, loss after forward pass = 1.794022798538208 -2023-09-14 09:28:59,690 backprop done, loss after forward pass = 1.750269889831543 -2023-09-14 10:56:19,282 backprop done, loss after forward pass = 1.4310824871063232 -2023-09-14 11:25:28,462 backprop done, loss after forward pass = 1.6895856857299805 -2023-09-14 11:54:39,973 backprop done, loss after forward pass = 1.5074403285980225 -2023-09-14 12:23:42,604 backprop done, loss after forward pass = 1.6695624589920044 -2023-09-14 12:53:00,535 backprop done, loss after forward pass = 1.4220315217971802 -2023-09-14 13:22:15,685 backprop done, loss after forward pass = 1.5720497369766235 -2023-09-14 13:51:30,744 backprop done, loss after forward pass = 1.544579267501831 -2023-09-14 14:20:44,482 backprop done, loss after forward pass = 1.2813694477081299 -2023-09-14 14:50:03,384 backprop done, loss after forward pass = 1.2990479469299316 -2023-09-14 15:19:09,620 backprop done, loss after forward pass = 1.0500637292861938 -``` - -We used prompt 'slowllama is a ', and here you can see the completions: -* before any weight update: _slowllama is a 24 year old (DOB: December 25, 1994) pure-blood witch_ -* after 10 iterations: _slowllama is a 24 year old (DOB: December 25, 1994) pure-blood witch_ -* after 20 iterations: _slowllama is a 70B model trained on the same data as llama.70b, but with a different training setup._ -* after 30 iterations: _slowllama is a 2022 fork of llama2, which is a 2021 fork of llama, which is a 2020 fork_ -* after 40 iterations: _slowllama is a 2-stage finetuning implementation for llama2._ - -Current setup is probably too slow for 70B model finetuning on old mac mini M1. It would be interesting to try it on more recent hardware (say, M2 Max / M2 Pro), implement prefetch/async save and see how it's going to work. - -**Float16 update:** - -Using Fp16 both for storing frozen weights and compute on MPS devices considerably improves memory requirements and time for iteration. A few notes: -* update torch to 2.1.0, otherwise mps might try to use apple neural engine for fp16 compute and it's not working quite well yet (see https://github.com/pytorch/pytorch/issues/110975) -* time win comes from the fact that we don't have to transform each block from bf16 to fp32. - -Here you can see finetune 70B model with M1 mac mini where weights are stored in fp16 and compute is done in fp16 as well. Input size is fairly small - batch size = 16 and seq_len = 128. - -Forward pass with 100ms granularity -![finetune](static/finetune_fwd.png) - -Combined pass with 100ms granularity -![finetune](static/finetune_combined.png) - -GPU utilization is at ~89% for combined pass and ~78% for forward. Now prefetch and saving in different format might make a difference. - -### merging LoRA weights back - -In order to merge LoRA checkpoint back to the model in original format, we can do the following: - -``` -# confirm that old model is producing wrong output -python test_gen.py - -... -0 - Cubestat reports the following metrics: 1) the number of cubes in the system, 2) the number of cubes that are currently running, 3) the number of cubes that are currently stopped, 4) the number of cubes that are currently in the process of starting, - -# check what would be the output for finetuned model by passing path to checkpoint -python test_gen.py ./out/state_dict_18.pth - -... -0 - Cubestat reports the following metrics: - -CPU utilization - configurable per core ('expanded'), cluster of cores: Efficiency/Performance ('cluster') or both. Is shown as percentage. -GPU utilization per card/chip. Is shown in percentage. Works for Apple's M1/M2 SoC and nVidia GPUs. For nVidia GPU shows memory usage as well. -ANE (Apple's Neural Engine) power consumption..... - -# now run merge. we need to pass: -# - original model path -# - new path for new model -# - lora checkpoint path -# note that merge would first delete the output directory if it exists and copy over original weights there. -python merge_lora.py ../llama-2-13b ./out/state_dict_18.pth ../llama-2-13b-out - -# at this point ../llama-2-13b-out is merged can be used in exactly same way as original llama2 for further quantization, inference, etc. - - -# If we want to run inference within slowllama for testing, we need to run prepare_model.py again. -# update the llama2_model_path in conf.py to be ../llama-2-13b-out/ and in conf_16.py frozen_model_path = '../llama13b_f16-out' - -python prepare_model.py - -# now run new model with no extra checkpoint, observe new output, same as in runtime-combined model: -python test_gen.py - -... -0 - Cubestat reports the following metrics: - -CPU utilization - configurable per core ('expanded'), cluster of cores: Efficiency/Performance ('cluster') or both. Is shown as percentage. -GPU utilization per card. Is shown in percentage. Works for Apple's M1/M2 SoC and nVidia GPUs. For nVidia GPU shows memory usage as well. -ANE (Apple's Neural Engine) power consumption..... - -``` - -### Project structure - -Just a few files with no dependencies other than torch, numpy and sentencepiece for tokenizer. - -1. [llama2.py](llama2.py) -- model definition and manual backprop implementation. It's based on model.py from [llama2.c](https://github.com/karpathy/llama2.c), also MIT licenced. -2. [finetune.py](finetune.py) - script which does the training -3. [llama2_loader.py](llama2_loader.py) - manual loading/saving of large llama2 models -4. [utils.py](utils.py) - small utility functions, including saving/loading random generator state for different devices. -5. [test_gen.py](test_gen.py) - greedily complete the prompt. Takes base weights + trained LoRA weights as input. Useful for sanity checks. -6. [blackbox.py](blackbox.py) - module wrapper which offloads the module to disk or main memory. -7. [plot_lora.py](plot_lora.py) - logging utility, writes LoRA weights and gradient distribution to [logfile](docs/lora_weights.md). Requires [fewlines](https://github.com/okuvshynov/fewlines). If fewlines is not installed, does nothing. -8. [merge_lora.py](merge_lora.py) - merge original weights + lora weights in the original format which can then be used directly. -9. [prepare_model.py](prepare_model.py) - script to transform sharded model to sequentially split model. - -### TODO: - -``` -[ ] masking -[ ] optimizations -- focus on memory usage - [ ] consider splitting transformer block into attention/ff - [ ] check if loading state dict to the same block instance would avoid the reallocation - [ ] microopt - no need to compute gradient for some of the leaf parts -[ ] more generic train routine - [ ] pause/resume from LoRA snapshot - [ ] do not create LoRA layers on prepare, only on finetune? -[ ] optimizations - prefetch the next layer/input, save asyncronously, etc; -[ ] gradient accumulation -[ ] plot something like memory requirement for (batch_size , seq_len) -[ ] combined RAM/disk offload - 200Gb RAM is rarity. -[ ] tests, cleanup and comments; -[ ] progress tracking for everything; -[ ] quantization beyond 16 bit? -[ ] configurable weight tying; -[ ] double check RNG state correctness. -``` - -### References -* [llama2](https://github.com/facebookresearch/llama) -* [llama.cpp](https://github.com/ggerganov/llama.cpp) -* [llama2.c](https://github.com/karpathy/llama2.c) -* [cubestat](https://github.com/okuvshynov/cubestat) -* [LoRA](https://arxiv.org/abs/2106.09685) - -### Contact - -{github handle} @ gmail.com diff --git a/mac/slowllama/slowllama/blackbox.py b/mac/slowllama/slowllama/blackbox.py deleted file mode 100644 index a2d5280..0000000 --- a/mac/slowllama/slowllama/blackbox.py +++ /dev/null @@ -1,60 +0,0 @@ -import os - -import torch - -from utils import device_map, next_id, device_supports_dtype -from model_config import ModelArgs - -class BlackboxDisk(torch.nn.Module): - def __init__(self, module, args: ModelArgs): - super().__init__() - self.module_id = next_id() - self.input_id = next_id() - self.compute_dtype = args.compute_dtype - self.served_model_path = args.served_model_path - self.cached_data_path = args.cached_data_path - # TODO: can we deduce this from the data itself - self.frozen_dtype = args.frozen_dtype - if args.init_frozen: - torch.save(module.to('cpu').to(self.frozen_dtype), self.frozen_path()) - - def frozen_path(self): - folder = os.path.join(self.served_model_path, 'frozen') - if not os.path.exists(folder): - os.makedirs(folder) - return os.path.join(folder, f'block_{self.module_id}.pt') - - def input_path(self): - folder = os.path.join(self.cached_data_path, 'inputs') - if not os.path.exists(folder): - os.makedirs(folder) - return f'{folder}/saved_{self.input_id}.pt' - - def loaded_inner(self): - return torch.load(self.frozen_path(), map_location='cpu') - - def load(self, device): - if device_supports_dtype(device, self.frozen_dtype): - return torch.load(self.frozen_path(), map_location=device_map(device)).to(self.compute_dtype) - else: - res = torch.load(self.frozen_path(), map_location='cpu') - return res.to(self.compute_dtype).to(device_map(device)) - - def save(self, module): - torch.save(module.to('cpu').to(self.frozen_dtype), self.frozen_path()) - - def load_input(self, device): - return torch.load(self.input_path(), map_location=torch.device(device_map(device))) - - def forward(self, input, *args): - torch.save(input, self.input_path()) - device = device_map(input.device) - module = self.load(device) - - if not self.training: - module.eval() - - # we offload model immediately anyway. - # no need to have gradient here ever. - with torch.no_grad(): - return module(input, *args) \ No newline at end of file diff --git a/mac/slowllama/slowllama/chat.py b/mac/slowllama/slowllama/chat.py deleted file mode 100644 index 05431b5..0000000 --- a/mac/slowllama/slowllama/chat.py +++ /dev/null @@ -1,29 +0,0 @@ -import logging -import torch -import sys -import os - -from llama2_loader import load_frozen -from utils import Tokenizer, greedy_gen2 -from conf_fp16 import * - -logging.basicConfig(format='%(asctime)s %(message)s', level=logging.WARN) - -lora_weights = sys.argv[1] if len(sys.argv) > 1 else None - -tokenizer_path = os.path.join(frozen_model_path, 'tokenizer.model') -tokenizer = Tokenizer(tokenizer_path) - -model = load_frozen(frozen_model_path, dropout=0.0, lora_rank=4, frozen_dtype=frozen_dtype, compute_dtype=compute_dtype).to(device) -if lora_weights is not None: - logging.debug(model.load_state_dict(torch.load(lora_weights), strict=False)) - -print(f'Model {frozen_model_path} loaded') - -while True: - prompt = input("> ") - while True: - for next in greedy_gen2(model, tokenizer, device, prompt, max_new_tokens=100): - sys.stdout.write(next) - sys.stdout.flush() - diff --git a/mac/slowllama/slowllama/conf.py b/mac/slowllama/slowllama/conf.py deleted file mode 100644 index 44906f2..0000000 --- a/mac/slowllama/slowllama/conf.py +++ /dev/null @@ -1,55 +0,0 @@ -import logging - -# which device to use for finetuning -# 'cpu', 'mps' (for Apple devices) or 'cuda' -device = 'mps' - -# random seed to use. Makes runs reproducible. -seed = 54321 - -# learning rate -lr = 1e-4 - -# logging gradient and weight distribution to log file -# useful for debugging, but makes more -log_lora_grad = False -log_lora_weight = False - -# how wide would LoRA layers be? (N x lora_rank) and (lora_rank x M). -# Larger number - larger layer - more capacity. -lora_rank = 4 - -log_level = logging.DEBUG - -# training settings - -# total number of iterations to run. No microbatching so far -iters = 20 - -# how long should be the sequence to train on? -# we pick seq_len tokens and try to predict token [seq_len + 1] -seq_len = 128 - -# how large should be the batch size? -batch_size = 16 - -# current script doesn't have validation set at all. -# instead, we run prompt completion every eval_period iterations -# and check how the completion look like -eval_before_training = False -eval_period = 20 - -# how many tokens to generate for such test completion -gen_tokens = 32 -# what prompt to use for test completion -prompt = 'Cubestat reports the following metrics: ' - -# where to save LoRA snapshots -snapshots_path = 'out' - -# plaintext input file which will be tokenized and used for training -finetune_file = './test_data/cubestat.txt' - -# which model to use - path to raw model -llama2_model_path = '../llama-2-13b' -#llama2_model_path = '../llama-2-13b-out' diff --git a/mac/slowllama/slowllama/conf_fp16.py b/mac/slowllama/slowllama/conf_fp16.py deleted file mode 100644 index 58e9178..0000000 --- a/mac/slowllama/slowllama/conf_fp16.py +++ /dev/null @@ -1,9 +0,0 @@ -import torch -from conf import * - -adamw_eps = 1e-4 -compute_dtype = torch.float16 -frozen_dtype = torch.float16 - -frozen_model_path = '../llama13b_f16' -#frozen_model_path = '../llama13b_f16-out' diff --git a/mac/slowllama/slowllama/conf_fp32.py b/mac/slowllama/slowllama/conf_fp32.py deleted file mode 100644 index 12cfb6b..0000000 --- a/mac/slowllama/slowllama/conf_fp32.py +++ /dev/null @@ -1,8 +0,0 @@ -import torch -from conf import * - -adamw_eps = 1e-8 -compute_dtype = torch.float32 -frozen_dtype = torch.bfloat16 - -frozen_model_path = '../llama7b' \ No newline at end of file diff --git a/mac/slowllama/slowllama/docs/a10.md b/mac/slowllama/slowllama/docs/a10.md deleted file mode 100644 index 65e5384..0000000 --- a/mac/slowllama/slowllama/docs/a10.md +++ /dev/null @@ -1,64 +0,0 @@ -# Testing/notes for CUDA implementation - -Current version is tested the following instance config: -1. A10 GPU, 24Gb -2. 200 Gb RAM -3. 30 core intel cpu -4. 1.4 Tb SSD drive - -Running finetune for 7B llama works reasonably fast, but GPU utilization is bad - we can do much better. - -![finetune a10](static/finetune_a10_7b.png) - -Several immediate observations here: -1. one CPU core is 100% utilized. What exactly is it doing, moving data around, supposedly? -2. no disk reads are happening - we most likely just serve all files from cache. -3. each burst of writes is a forward pass - we save inputs. GPU util is especially bad there. -4. On backward/combined pass GPU utilization is slightly better but not much. -5. The time before first forward pass is generation - we use batch of size 1 here so utilization is very low but that's to be expected -6. GPU memory util is low as well - we can go with much larger batch size - -What should we do? -1. With this amount of memory we don't need to write to disk ever. We can just move layers back and forth between main memory and GPU -2. Optionally prefetch and save async. - -Let's check 7B model: - -offloading to disk: -``` -2023-09-05 22:11:56,099 starting iteration 5 -2023-09-05 22:12:16,246 starting iteration 6 -2023-09-05 22:12:36,387 starting iteration 7 -2023-09-05 22:12:56,433 starting iteration 8 -``` - -Each iteration takes ~20s - -After offloading the layers to RAM rather than disk, we get considerable speedup: -``` -2023-09-05 22:19:27,544 starting iteration 5 -2023-09-05 22:19:35,563 starting iteration 6 -2023-09-05 22:19:43,580 starting iteration 7 -2023-09-05 22:19:51,603 starting iteration 8 -``` - -Each iteration is ~8 seconds. - -For 70B model on disk: -``` -2023-09-06 00:08:59,143 starting iteration 5 -2023-09-06 00:10:41,738 starting iteration 6 -2023-09-06 00:12:24,215 starting iteration 7 -2023-09-06 00:14:04,903 starting iteration 8 -``` -~100s / iteration - -70B model on RAM: -``` -2023-09-05 23:14:31,709 starting iteration 5 -2023-09-05 23:15:46,593 starting iteration 6 -2023-09-05 23:17:01,593 starting iteration 7 -2023-09-05 23:18:16,730 starting iteration 8 -``` - -~75s / iteration diff --git a/mac/slowllama/slowllama/docs/lora_weights.md b/mac/slowllama/slowllama/docs/lora_weights.md deleted file mode 100644 index 8f3df4b..0000000 --- a/mac/slowllama/slowllama/docs/lora_weights.md +++ /dev/null @@ -1,416 +0,0 @@ -Here's a log of how lora weights are changing during finetuning after first few iterations with AdamW. - -Produced with [fewlines](https://github.com/okuvshynov/fewlines). - -As we can see, after first step matrix B which was initialized with zeroes becomes bimodal - each weight makes a step either +lr or -lr. -After that it slowly creeps to the middle. - - -``` -=== WEIGHTS A === -2023-09-11 09:19:26,617 ~~~~~~~~~~~ -0.0156|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|0.0156 -2023-09-11 09:19:26,617 Q0.A|▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇| -2023-09-11 09:19:26,617 V0.A|▇▆▇▇▇▇▇▇▇▆▇▇▇▆▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇| -2023-09-11 09:19:26,617 Q1.A|▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▆▇▆▇▇▇▇▆▇▇▇▇▇| -2023-09-11 09:19:26,617 V1.A|▇▆▇▆▇▇▆▆▇▆▇▇▇▆▇▇▇▆▇▆▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▆▆▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇| -2023-09-11 09:19:26,617 Q2.A|▇▇▇▇▇▆▇▇▇▇▆▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇| -2023-09-11 09:19:26,617 V2.A|▆▇▆▆▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇| -2023-09-11 09:19:26,617 Q3.A|▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▆▆| -2023-09-11 09:19:26,617 V3.A|▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▆▇| -2023-09-11 09:19:26,617 Q4.A|▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇| -2023-09-11 09:19:26,617 V4.A|▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇| -2023-09-11 09:19:26,617 Q5.A|▆▇▆▇▇▇▇▇▆▆▇▇▆▇▇▇▆▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▆▆▇▆▇▆▇▇▇▇▇▇▆▇▇▆| -2023-09-11 09:19:26,617 V5.A|▆▆▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇| -2023-09-11 09:19:26,617 Q6.A|▇▆▇▆▇▆▆▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▆▆▇▇▆▆▆▇▇▆▇▇▆▇▇▇▇▇| -2023-09-11 09:19:26,617 V6.A|▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇| -2023-09-11 09:19:26,617 Q7.A|▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇| -2023-09-11 09:19:26,617 V7.A|▆▇▇▆▆▆▇▆▇▆▇▇▇▆▇▇▇▆▇▆▆▇▇▆▆▇▇▇▇▇▇▆▇▆▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆| -2023-09-11 09:19:26,617 Q8.A|▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▆▇▇▆▆▆▆▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇| -2023-09-11 09:19:26,617 V8.A|▇▆▇▆▆▆▇▇▇▆▆▆▇▇▆▇▆▆▇▆▇▇▇▇▇▇▇▇▇▇▆▆▇▆▇▇▇▇▇▇▇▆▆▇▇▆▇▇▇▇▆▇▆▇▇▇▇▇▇▆| -2023-09-11 09:19:26,617 Q9.A|▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇| -2023-09-11 09:19:26,617 V9.A|▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇| -2023-09-11 09:19:26,617 Q10.A|▇▇▇▆▇▇▆▆▇▇▇▇▇▇▆▇▇▇▇▇▆▇▆▇▇▆▇▇▆▇▆▇▇▆▇▇▇▆▇▇▇▇▇▇▆▆▇▇▇▇▆▆▇▆▇▇▆▆▆▇| -2023-09-11 09:19:26,617 V10.A|▇▇▇▇▆▇▆▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▇▆▆▇▇▇▇▇▆▇▆▇▇▆▇▆▇▇▇▇▆▇▇| -2023-09-11 09:19:26,617 Q11.A|▇▇▇▇▆▆▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▆▆▇▇▇▆▇▇▆▇▇▇▇▇| -2023-09-11 09:19:26,617 V11.A|▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▆▆▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇| -2023-09-11 09:19:26,617 Q12.A|▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▆▆▆▆▇▇▆▇▇▇▆▇▇▆| -2023-09-11 09:19:26,617 V12.A|▆▇▆▇▇▇▆▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇| -2023-09-11 09:19:26,617 Q13.A|▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇| -2023-09-11 09:19:26,617 V13.A|▇▇▆▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▆▆▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇| -2023-09-11 09:19:26,617 Q14.A|▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▆▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇| -2023-09-11 09:19:26,617 V14.A|▆▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆| -2023-09-11 09:19:26,617 Q15.A|▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▆▇▇▆▇▇▇▇▇▇▇▇| -2023-09-11 09:19:26,617 V15.A|▆▇▇▇▆▇▆▆▆▆▇▆▆▇▆▇▇▆▇▆▇▆▇▆▆▆▆▇▆▇▆▆▆▇▇▇▆▆▇▇▆▆▇▇▆▆▇▇▇▆▆▇▇▆▇▇▇▆▇▆| -2023-09-11 09:19:26,617 Q16.A|▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▆▇▇▇▆▇▇▇▆▆▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆| -2023-09-11 09:19:26,617 V16.A|▇▆▆▆▆▆▇▆▇▇▇▇▆▇▆▇▆▆▇▇▆▇▆▆▇▇▆▇▇▇▇▇▇▇▆▇▆▇▆▆▇▇▇▆▇▇▆▆▇▇▇▇▆▆▆▆▆▇▆▆| -2023-09-11 09:19:26,617 Q17.A|▆▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▆▇▇▇▆▇▆▆▇▇▇▆▇▇▇▇▆▇▇▇▇▆▇▆▇▆▇▇▇| -2023-09-11 09:19:26,617 V17.A|▇▇▆▆▆▇▇▇▇▇▇▆▇▇▇▆▇▆▇▆▇▇▇▆▇▆▇▆▆▆▆▆▆▇▆▆▆▆▇▆▇▇▆▇▆▇▆▆▇▇▇▇▇▇▆▇▇▇▇▆| -2023-09-11 09:19:26,617 Q18.A|▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▆▆▇▇▆▇▆▆▇▆▇▇▆▆▇▇▆▇▆▇▇▇▆▆▇▇▇▆▆▇▇▇▇▇▇| -2023-09-11 09:19:26,617 V18.A|▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▆▇▇▆▆▆▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▆▇▇▆▇▇▇▇▇▇▆| -2023-09-11 09:19:26,617 Q19.A|▆▆▇▆▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▆▇▆▇▆▇▇▇▇▇▇▇▇▇▇▆▆▇▇▆▇▇▆▆▆▇▇▇▆▆▇▇▆▇▆▇▆▆▆▆▆| -2023-09-11 09:19:26,617 V19.A|▇▇▇▆▆▆▇▆▇▇▆▆▇▆▇▆▇▆▇▆▆▆▇▆▆▇▇▆▆▇▇▇▆▆▇▆▇▆▇▆▆▆▆▇▇▇▆▇▆▆▆▆▇▆▆▇▆▇▆▆| -2023-09-11 09:19:26,617 Q20.A|▇▆▆▇▆▇▆▇▆▆▆▆▆▇▇▆▇▆▇▇▆▆▇▆▆▆▇▆▇▇▆▆▆▆▇▆▇▇▇▇▆▆▇▆▇▇▆▇▇▆▆▆▇▆▇▇▆▆▇▇| -2023-09-11 09:19:26,617 V20.A|▇▇▇▇▇▇▇▇▇▇▆▆▇▆▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇| -2023-09-11 09:19:26,617 Q21.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▆▇| -2023-09-11 09:19:26,617 V21.A|▇▇▇▇▇▆▆▇▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇| -2023-09-11 09:19:26,617 Q22.A|▆▆▇▆▇▇▆▆▆▇▇▇▆▆▆▆▆▇▆▆▆▆▆▆▆▇▇▆▆▆▆▆▇▆▇▆▇▆▇▆▆▆▇▆▆▆▆▇▆▆▇▇▆▆▇▇▆▆▆▇| -2023-09-11 09:19:26,617 V22.A|▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▆▆▆▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▆▇| -2023-09-11 09:19:26,617 Q23.A|▆▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇| -2023-09-11 09:19:26,618 V23.A|▆▇▇▆▇▆▆▇▆▇▇▆▇▆▆▇▇▇▇▆▆▆▆▇▇▇▇▇▇▇▇▇▇▆▆▆▇▇▆▆▇▇▆▆▇▆▆▆▇▇▇▇▇▆▇▆▇▇▇▆| -2023-09-11 09:19:26,618 Q24.A|▇▇▇▆▆▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▆▇▇▇▇▆▇▆▇▇▆▆▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▆▆▇| -2023-09-11 09:19:26,618 V24.A|▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▆▆▆▇▆▇▇▇▇▆▆▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇| -2023-09-11 09:19:26,618 Q25.A|▇▇▇▇▆▇▇▇▆▇▆▇▇▆▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇| -2023-09-11 09:19:26,618 V25.A|▇▇▇▇▇▆▇▇▇▇▇▇▇▆▆▇▆▇▇▇▆▇▇▇▇▇▆▇▇▇▆▇▇▆▇▆▆▇▇▆▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇| -2023-09-11 09:19:26,618 Q26.A|▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇| -2023-09-11 09:19:26,618 V26.A|▇▆▆▇▇▇▇▇▆▇▆▆▆▆▇▇▇▇▇▇▆▇▇▇▆▆▇▆▇▇▇▇▇▇▆▇▇▆▇▇▆▇▇▇▇▆▇▇▆▇▇▆▇▇▆▇▇▇▇▇| -2023-09-11 09:19:26,618 Q27.A|▇▇▆▇▇▆▇▇▆▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▆▆▇▇▆▆▇▇▇▇▇▆▇▇▆▇▆▇▇▇▇▇▇▇▆▇▇▆| -2023-09-11 09:19:26,618 V27.A|▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇| -2023-09-11 09:19:26,618 Q28.A|▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆| -2023-09-11 09:19:26,618 V28.A|▆▇▇▇▇▆▇▇▆▇▇▇▆▇▇▆▇▇▆▇▇▇▆▇▆▆▇▇▇▆▇▇▆▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇| -2023-09-11 09:19:26,618 Q29.A|▆▇▇▇▇▇▆▇▇▆▇▇▇▇▆▇▆▆▇▇▆▆▇▇▆▆▆▇▇▆▇▆▆▇▇▇▆▇▆▇▇▇▇▇▆▇▆▇▇▇▆▇▇▇▇▇▇▇▇▆| -2023-09-11 09:19:26,618 V29.A|▆▆▇▆▇▆▇▆▇▇▆▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇| -2023-09-11 09:19:26,618 Q30.A|▆▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇| -2023-09-11 09:19:26,618 V30.A|▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇| -2023-09-11 09:19:26,618 Q31.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▆▇▇| -2023-09-11 09:19:26,618 V31.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇| -2023-09-11 09:19:26,618 -=== WEIGHTS B === -2023-09-11 09:19:27,099 ~~~~~~~~~~~ -0.0001|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|0.0001 -2023-09-11 09:19:27,100 Q0.B|▇ ▇| -2023-09-11 09:19:27,100 V0.B|▇ ▇| -2023-09-11 09:19:27,100 Q1.B|▇ ▇| -2023-09-11 09:19:27,100 V1.B|▇ ▇| -2023-09-11 09:19:27,100 Q2.B|▇ ▇| -2023-09-11 09:19:27,100 V2.B|▇ ▇| -2023-09-11 09:19:27,100 Q3.B|▇ ▇| -2023-09-11 09:19:27,100 V3.B|▇ ▇| -2023-09-11 09:19:27,100 Q4.B|▇ ▇| -2023-09-11 09:19:27,100 V4.B|▇ ▇| -2023-09-11 09:19:27,100 Q5.B|▇ ▇| -2023-09-11 09:19:27,100 V5.B|▇ ▇| -2023-09-11 09:19:27,100 Q6.B|▇ ▇| -2023-09-11 09:19:27,100 V6.B|▇ ▇| -2023-09-11 09:19:27,100 Q7.B|▇ ▇| -2023-09-11 09:19:27,100 V7.B|▇ ▇| -2023-09-11 09:19:27,100 Q8.B|▇ ▇| -2023-09-11 09:19:27,100 V8.B|▇ ▇| -2023-09-11 09:19:27,100 Q9.B|▇ ▇| -2023-09-11 09:19:27,100 V9.B|▇ ▇| -2023-09-11 09:19:27,100 Q10.B|▇ ▇| -2023-09-11 09:19:27,100 V10.B|▇ ▇| -2023-09-11 09:19:27,100 Q11.B|▇ ▇| -2023-09-11 09:19:27,100 V11.B|▇ ▇| -2023-09-11 09:19:27,100 Q12.B|▇ ▇| -2023-09-11 09:19:27,100 V12.B|▇ ▇| -2023-09-11 09:19:27,100 Q13.B|▇ ▇| -2023-09-11 09:19:27,100 V13.B|▇ ▇| -2023-09-11 09:19:27,100 Q14.B|▇ ▇| -2023-09-11 09:19:27,100 V14.B|▇ ▇| -2023-09-11 09:19:27,100 Q15.B|▇ ▇| -2023-09-11 09:19:27,100 V15.B|▇ ▇| -2023-09-11 09:19:27,100 Q16.B|▇ ▇| -2023-09-11 09:19:27,100 V16.B|▇ ▇| -2023-09-11 09:19:27,100 Q17.B|▇ ▇| -2023-09-11 09:19:27,100 V17.B|▇ ▇| -2023-09-11 09:19:27,100 Q18.B|▇ ▇| -2023-09-11 09:19:27,100 V18.B|▇ ▇| -2023-09-11 09:19:27,100 Q19.B|▇ ▇| -2023-09-11 09:19:27,100 V19.B|▇ ▇| -2023-09-11 09:19:27,100 Q20.B|▇ ▇| -2023-09-11 09:19:27,100 V20.B|▇ ▇| -2023-09-11 09:19:27,100 Q21.B|▇ ▇| -2023-09-11 09:19:27,100 V21.B|▇ ▇| -2023-09-11 09:19:27,100 Q22.B|▇ ▇| -2023-09-11 09:19:27,100 V22.B|▇ ▇| -2023-09-11 09:19:27,100 Q23.B|▇ ▇| -2023-09-11 09:19:27,100 V23.B|▇ ▇| -2023-09-11 09:19:27,100 Q24.B|▇ ▇| -2023-09-11 09:19:27,100 V24.B|▇ ▇| -2023-09-11 09:19:27,100 Q25.B|▇ ▇| -2023-09-11 09:19:27,101 V25.B|▇ ▇| -2023-09-11 09:19:27,101 Q26.B|▇ ▇| -2023-09-11 09:19:27,101 V26.B|▇ ▇| -2023-09-11 09:19:27,101 Q27.B|▇ ▇| -2023-09-11 09:19:27,101 V27.B|▇ ▇| -2023-09-11 09:19:27,101 Q28.B|▇ ▇| -2023-09-11 09:19:27,101 V28.B|▇ ▇| -2023-09-11 09:19:27,101 Q29.B|▇ ▇| -2023-09-11 09:19:27,101 V29.B|▇ ▇| -2023-09-11 09:19:27,101 Q30.B|▇ ▇| -2023-09-11 09:19:27,101 V30.B|▇ ▇| -2023-09-11 09:19:27,101 Q31.B|▇ ▇| -2023-09-11 09:19:27,101 V31.B|▇ ▇| -2023-09-11 09:19:27,119 backprop done, loss after forward pass = 2.9539270401000977 -2023-09-11 09:19:27,119 starting iteration 1 -2023-09-11 09:19:48,372 -=== WEIGHTS A === -2023-09-11 09:19:48,840 ~~~~~~~~~~~ -0.0157|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|0.0157 -2023-09-11 09:19:48,841 Q0.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▆▇▇▇▇▆▇▇▇▇▇▇▆▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆| -2023-09-11 09:19:48,841 V0.A|▆▆▇▇▇▇▇▇▆▆▆▇▇▆▆▆▇▆▆▇▇▆▇▆▇▇▆▇▇▇▆▆▇▆▆▇▇▆▇▇▇▆▆▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▅| -2023-09-11 09:19:48,841 Q1.A|▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▆▇▇▇▇▇▆▇▆▇▆▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▆▇▆▇▇▇▇▆▇▇▇▇▆| -2023-09-11 09:19:48,841 V1.A|▆▆▇▆▇▇▆▇▇▆▇▇▇▆▇▇▆▇▇▆▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆| -2023-09-11 09:19:48,841 Q2.A|▆▇▇▇▇▆▇▇▇▇▆▇▆▆▇▇▇▇▇▇▆▇▇▇▇▆▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆| -2023-09-11 09:19:48,841 V2.A|▅▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆| -2023-09-11 09:19:48,841 Q3.A|▆▇▇▆▇▆▇▇▆▇▇▇▆▇▇▇▆▇▇▇▇▆▇▇▇▆▇▇▇▇▇▆▇▆▇▇▇▆▇▆▇▇▇▇▇▇▆▇▆▇▇▇▆▇▇▇▆▇▆▅| -2023-09-11 09:19:48,841 V3.A|▆▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▆▆| -2023-09-11 09:19:48,841 Q4.A|▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▆▇▆▇▇▆▇▇▆▇▆▆▇▆▇▇▇▇▇▇▆▇▇▇▆▆| -2023-09-11 09:19:48,841 V4.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆| -2023-09-11 09:19:48,841 Q5.A|▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▅| -2023-09-11 09:19:48,841 V5.A|▅▆▇▇▆▇▆▆▇▆▇▇▆▇▇▇▆▇▇▇▇▆▇▇▆▇▆▇▇▇▆▇▇▇▇▇▆▇▆▆▆▆▆▇▇▆▆▇▇▆▇▇▇▇▇▇▇▇▇▆| -2023-09-11 09:19:48,841 Q6.A|▆▆▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▆▇▇▇▆▇▇▇▇▇▇▇▆| -2023-09-11 09:19:48,841 V6.A|▅▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▆| -2023-09-11 09:19:48,841 Q7.A|▅▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▆| -2023-09-11 09:19:48,841 V7.A|▆▇▇▆▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅| -2023-09-11 09:19:48,841 Q8.A|▆▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▆| -2023-09-11 09:19:48,841 V8.A|▆▆▇▆▆▆▇▇▇▆▆▆▇▇▇▇▆▆▇▆▇▇▇▆▇▇▇▇▇▇▆▆▇▆▇▇▇▇▇▇▆▇▆▇▇▆▇▇▇▆▆▇▆▇▇▆▇▇▇▅| -2023-09-11 09:19:48,841 Q9.A|▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆| -2023-09-11 09:19:48,841 V9.A|▆▇▇▆▇▇▇▆▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▆▇▇▆▇▇▇▆▇▇▇▇▇▆▇▇▇▆▇▇▇▇▆▇▇▆| -2023-09-11 09:19:48,841 Q10.A|▆▇▇▆▆▆▇▆▇▇▇▇▆▇▇▇▇▇▇▇▆▇▆▇▇▆▇▇▆▇▆▇▇▆▇▇▇▆▆▇▇▇▇▇▆▆▇▇▇▇▆▆▇▆▇▇▆▆▆▆| -2023-09-11 09:19:48,841 V10.A|▆▇▇▇▆▇▆▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▆▇▆▇▇▆▇▇▇▇▇▇▇▇▆| -2023-09-11 09:19:48,841 Q11.A|▆▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▆| -2023-09-11 09:19:48,841 V11.A|▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▆| -2023-09-11 09:19:48,841 Q12.A|▆▆▆▆▇▇▇▇▇▆▇▆▇▇▆▆▇▆▇▇▇▇▆▇▇▇▆▆▇▇▇▇▆▇▇▆▇▇▆▇▇▆▇▇▆▇▆▆▆▆▆▇▆▆▇▆▇▆▇▅| -2023-09-11 09:19:48,841 V12.A|▅▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆| -2023-09-11 09:19:48,841 Q13.A|▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▆▇▇▇▆▇▇▇▆▆| -2023-09-11 09:19:48,841 V13.A|▆▇▆▇▇▇▆▆▇▇▇▇▇▇▇▆▇▇▇▆▇▆▆▇▆▆▇▇▇▇▆▇▇▇▇▇▆▆▆▇▆▇▆▇▆▇▆▇▇▇▇▇▇▇▆▇▇▇▇▆| -2023-09-11 09:19:48,841 Q14.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▆▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▆▇▇▆| -2023-09-11 09:19:48,841 V14.A|▅▆▇▇▆▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆| -2023-09-11 09:19:48,841 Q15.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆| -2023-09-11 09:19:48,841 V15.A|▅▆▇▇▆▇▆▆▆▆▆▇▇▆▆▇▇▆▇▆▇▆▆▆▆▆▇▇▆▆▆▆▆▆▇▇▆▆▇▇▆▆▆▆▆▆▆▇▇▆▆▇▇▆▇▇▆▆▇▅| -2023-09-11 09:19:48,841 Q16.A|▆▇▆▇▇▆▇▇▇▇▇▇▇▇▆▇▆▇▇▇▆▇▇▇▇▆▇▇▇▆▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▅| -2023-09-11 09:19:48,841 V16.A|▆▆▇▆▇▇▇▇▇▇▇▇▇▇▆▇▆▆▇▇▇▇▆▆▇▇▆▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▅| -2023-09-11 09:19:48,841 Q17.A|▅▇▇▆▆▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▆▇▇▇▆▇▇▆▇▇▇▆▇▆▆▇▇▇▆▇▆▇▇▆▇▇▇▇▆▇▆▇▆▇▇▆| -2023-09-11 09:19:48,841 V17.A|▆▇▆▆▆▇▇▇▇▇▆▆▇▇▇▆▇▇▆▆▇▇▇▆▇▆▇▆▆▇▆▆▇▆▆▆▇▆▇▆▇▇▆▇▆▇▆▇▇▇▇▆▇▆▇▇▇▇▇▅| -2023-09-11 09:19:48,841 Q18.A|▆▇▆▇▇▇▆▇▇▇▆▇▇▇▇▇▆▆▇▇▆▆▇▇▇▇▆▆▇▆▇▇▆▇▇▇▇▆▆▇▇▆▇▆▇▇▇▆▇▆▇▇▆▇▆▇▇▇▇▆| -2023-09-11 09:19:48,841 V18.A|▆▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▆▇▇▇▇▇▇▅| -2023-09-11 09:19:48,841 Q19.A|▅▆▆▇▇▇▇▇▇▇▇▆▇▇▇▆▆▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▆▇▆▆▆▇▆▆▆▇▇▇▆▆▆▇▇▇▆▇▆▇▆▆▅| -2023-09-11 09:19:48,841 V19.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▆▇▆▇▆▇▇▇▇▇▆| -2023-09-11 09:19:48,841 Q20.A|▆▆▆▆▆▇▆▇▇▆▆▆▆▇▇▇▇▆▇▇▆▆▇▆▆▆▇▆▇▇▆▆▆▆▆▆▇▇▇▇▆▆▇▇▇▆▆▇▇▆▆▆▆▇▇▇▇▆▇▆| -2023-09-11 09:19:48,841 V20.A|▆▆▇▇▆▇▇▇▇▇▆▆▆▆▇▇▆▇▆▇▆▆▆▆▇▇▇▇▇▇▇▆▆▇▆▇▇▇▆▆▆▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▆▆▆| -2023-09-11 09:19:48,841 Q21.A|▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▆▇▆| -2023-09-11 09:19:48,841 V21.A|▆▆▇▆▇▆▆▆▇▇▇▇▇▆▆▇▆▆▇▆▇▇▇▆▆▇▇▇▇▆▆▇▇▆▇▇▆▆▇▇▇▇▇▇▇▇▇▇▆▇▆▇▆▆▆▇▇▇▇▅| -2023-09-11 09:19:48,841 Q22.A|▆▇▇▇▇▇▆▇▇▇▇▇▆▆▇▇▇▇▇▇▆▆▇▆▆▇▇▆▆▆▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▆▆▇▇▆▇▇▇▇▆▇▆| -2023-09-11 09:19:48,841 V22.A|▅▇▇▇▆▆▇▆▇▇▇▇▇▇▆▇▇▆▆▆▇▆▆▇▆▇▇▆▆▇▇▇▇▇▇▇▇▇▆▇▆▆▆▇▇▇▆▇▆▆▇▇▇▆▇▇▆▇▆▆| -2023-09-11 09:19:48,841 Q23.A|▆▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆| -2023-09-11 09:19:48,841 V23.A|▅▆▇▆▇▆▆▇▇▇▇▆▇▆▆▇▇▇▇▆▆▇▆▇▇▇▇▆▇▇▇▇▇▆▆▇▇▇▆▆▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▅| -2023-09-11 09:19:48,841 Q24.A|▆▇▇▆▆▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▆▇▇▇▇▆▇▆▇▇▆▆▆▇▇▆▇▆▇▇▆▇▇▇▇▇▇▇▆▇▆▆▇▇▇▇▆▇▆| -2023-09-11 09:19:48,841 V24.A|▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▆▆▇▇▇▇▇▇▇▆▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆| -2023-09-11 09:19:48,841 Q25.A|▆▇▇▇▆▇▇▆▆▇▆▇▇▆▆▇▆▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▆▇▇▆▇▇▇▇▇▆| -2023-09-11 09:19:48,841 V25.A|▆▇▆▇▇▆▇▇▆▇▆▇▇▆▆▇▆▇▆▆▇▇▇▇▇▇▆▇▆▇▇▆▇▆▇▆▆▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆| -2023-09-11 09:19:48,841 Q26.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▆| -2023-09-11 09:19:48,841 V26.A|▆▆▇▇▇▇▇▇▇▆▇▆▆▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▆| -2023-09-11 09:19:48,841 Q27.A|▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▅| -2023-09-11 09:19:48,841 V27.A|▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆| -2023-09-11 09:19:48,841 Q28.A|▆▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▅| -2023-09-11 09:19:48,841 V28.A|▆▇▇▇▇▆▇▇▆▇▇▇▆▇▇▆▇▇▆▇▆▇▆▇▇▆▇▇▆▆▇▇▆▇▆▇▇▆▇▇▇▇▇▆▇▇▇▇▆▇▆▇▆▇▇▇▇▇▇▆| -2023-09-11 09:19:48,841 Q29.A|▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▆▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅| -2023-09-11 09:19:48,841 V29.A|▆▆▇▆▇▇▇▆▆▇▆▇▇▇▇▇▇▆▇▆▇▇▆▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▆▇▇▇▆▇▆▇▇▇▇▇▆▇▇▇▇▇▆▇▇▆| -2023-09-11 09:19:48,841 Q30.A|▅▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆| -2023-09-11 09:19:48,841 V30.A|▅▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▆▇▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆| -2023-09-11 09:19:48,841 Q31.A|▅▇▇▇▆▆▇▇▇▇▇▆▇▆▇▆▇▆▇▇▇▆▇▇▇▆▇▇▆▇▇▆▇▇▇▇▇▆▆▆▇▆▇▇▆▆▇▇▇▆▇▆▇▇▆▇▇▆▇▆| -2023-09-11 09:19:48,842 V31.A|▅▆▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▆▇▆| -2023-09-11 09:19:48,842 -=== WEIGHTS B === -2023-09-11 09:19:49,326 ~~~~~~~~~~~ -0.0002|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|0.0002 -2023-09-11 09:19:49,326 Q0.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:19:49,326 V0.B|▇▂▁▁ ▁▂▇| -2023-09-11 09:19:49,326 Q1.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:19:49,326 V1.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 Q2.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:19:49,326 V2.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 Q3.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:19:49,326 V3.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 Q4.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:19:49,326 V4.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 Q5.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:19:49,326 V5.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 Q6.B|▇▂▁ ▁▁▂▇| -2023-09-11 09:19:49,326 V6.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 Q7.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:19:49,326 V7.B|▇▂▁ ▁▁▇| -2023-09-11 09:19:49,326 Q8.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 V8.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 Q9.B|▇▂▁▁ ▁▂▇| -2023-09-11 09:19:49,326 V9.B|▇▂▁ ▁▁▇| -2023-09-11 09:19:49,326 Q10.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 V10.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 Q11.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 V11.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 Q12.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 V12.B|▇▁▁ ▁▂▇| -2023-09-11 09:19:49,326 Q13.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 V13.B|▇▁▁ ▁▁▇| -2023-09-11 09:19:49,326 Q14.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 V14.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 Q15.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 V15.B|▇▁▁ ▁▁▇| -2023-09-11 09:19:49,326 Q16.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 V16.B|▇▁▁ ▁▁▇| -2023-09-11 09:19:49,326 Q17.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 V17.B|▇▁ ▁▇| -2023-09-11 09:19:49,326 Q18.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 V18.B|▇▁▁ ▁▁▇| -2023-09-11 09:19:49,326 Q19.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 V19.B|▇▁ ▁▇| -2023-09-11 09:19:49,326 Q20.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 V20.B|▇▁▁ ▁▁▇| -2023-09-11 09:19:49,326 Q21.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 V21.B|▇▁▁ ▁▁▇| -2023-09-11 09:19:49,326 Q22.B|▇▁▁ ▁▁▇| -2023-09-11 09:19:49,326 V22.B|▇▁▁ ▁▁▇| -2023-09-11 09:19:49,326 Q23.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,326 V23.B|▇▁▁ ▁▁▇| -2023-09-11 09:19:49,327 Q24.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,327 V24.B|▇▁ ▁▁▇| -2023-09-11 09:19:49,327 Q25.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,327 V25.B|▇▁▁ ▁▁▇| -2023-09-11 09:19:49,327 Q26.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,327 V26.B|▇▁▁ ▁▂▇| -2023-09-11 09:19:49,327 Q27.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,327 V27.B|▇▁▁ ▁▂▇| -2023-09-11 09:19:49,327 Q28.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,327 V28.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,327 Q29.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,327 V29.B|▇▂▁ ▁▁▇| -2023-09-11 09:19:49,327 Q30.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,327 V30.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,327 Q31.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,327 V31.B|▇▂▁ ▁▂▇| -2023-09-11 09:19:49,345 backprop done, loss after forward pass = 2.9073104858398438 -2023-09-11 09:19:49,345 saving snapshot -2023-09-11 09:19:49,392 starting iteration 2 -2023-09-11 09:20:10,670 -=== WEIGHTS A === -2023-09-11 09:20:11,137 ~~~~~~~~~~~ -0.0158|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|0.0158 -2023-09-11 09:20:11,138 Q0.A|▅▇▇▇▇▇▆▇▇▆▆▇▇▆▇▆▇▇▆▇▆▇▇▆▇▆▇▇▇▇▆▇▇▆▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▅| -2023-09-11 09:20:11,138 V0.A|▅▇▇▇▆▇▇▇▇▇▆▇▇▆▆▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▆▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 Q1.A|▅▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▆▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 V1.A|▅▆▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 Q2.A|▅▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 V2.A|▄▇▆▇▇▇▇▆▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 Q3.A|▅▇▇▆▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▆▇▇▄| -2023-09-11 09:20:11,138 V3.A|▅▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▅| -2023-09-11 09:20:11,138 Q4.A|▅▇▇▇▆▆▇▇▆▇▇▆▇▆▇▆▇▆▆▇▇▆▇▆▇▇▇▇▇▇▇▆▆▇▆▇▆▇▇▆▇▇▆▇▆▆▇▆▆▇▆▇▇▆▆▆▆▇▆▅| -2023-09-11 09:20:11,138 V4.A|▅▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▆▅| -2023-09-11 09:20:11,138 Q5.A|▄▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▆▇▇▇▄| -2023-09-11 09:20:11,138 V5.A|▄▆▇▇▆▇▇▆▇▆▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▆▆▇▆▆▇▇▆▆▇▇▆▇▇▇▆▇▇▇▇▇▅| -2023-09-11 09:20:11,138 Q6.A|▅▆▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▆▇▇▇▇▇▇▆▇▇▇▇▅| -2023-09-11 09:20:11,138 V6.A|▄▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▆▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▅| -2023-09-11 09:20:11,138 Q7.A|▄▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▆▆▆▇▇▆▇▆▆▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 V7.A|▄▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▆▇▆▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▄| -2023-09-11 09:20:11,138 Q8.A|▅▆▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▆▇▆▆▆▆▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▄| -2023-09-11 09:20:11,138 V8.A|▅▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▆▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▆▆▇▇▇▇▆▇▇▇▅| -2023-09-11 09:20:11,138 Q9.A|▅▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 V9.A|▅▇▇▆▇▇▆▆▇▇▇▆▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▆▆▇▇▆▇▇▇▆▇▇▇▇▇▆▇▇▇▆▇▇▆▇▆▇▇▅| -2023-09-11 09:20:11,138 Q10.A|▅▇▇▇▆▆▆▆▇▆▇▇▆▇▇▇▇▇▇▆▆▇▆▇▇▆▇▇▆▇▆▇▇▇▇▆▇▆▆▆▇▇▇▆▆▆▇▆▇▇▆▆▆▆▇▇▆▆▆▅| -2023-09-11 09:20:11,138 V10.A|▅▇▇▇▆▇▆▇▇▆▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▆▆▇▇▇▇▆▆▆▇▆▇▆▆▇▇▆▆▆▇▆▇▇▇▇▆▇▅| -2023-09-11 09:20:11,138 Q11.A|▅▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 V11.A|▅▆▇▆▇▆▇▆▇▇▇▇▇▇▇▇▆▆▇▇▆▇▇▇▇▇▇▆▇▆▇▆▇▆▇▇▆▇▇▇▇▇▇▆▇▇▆▇▆▇▇▇▇▇▇▇▆▇▇▄| -2023-09-11 09:20:11,138 Q12.A|▅▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▆▆▇▇▇▇▇▇▆▇▇▇▅| -2023-09-11 09:20:11,138 V12.A|▄▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 Q13.A|▅▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▆▇▇▇▇▇▇▇▇▆▇▇▇▆▇▆▇▇▇▇▇▆▇▇▇▆▅| -2023-09-11 09:20:11,138 V13.A|▄▇▆▇▇▇▆▆▇▇▇▇▇▇▇▆▇▇▇▆▇▆▆▇▆▆▇▇▆▇▆▇▇▆▇▇▆▆▆▇▆▇▇▇▆▇▇▇▇▇▇▇▆▆▇▇▆▆▇▅| -2023-09-11 09:20:11,138 Q14.A|▅▆▆▇▇▆▇▇▆▆▇▇▇▆▇▇▇▇▆▆▆▇▆▇▆▆▆▆▆▇▇▆▆▆▆▆▆▇▆▇▆▇▆▆▇▇▇▇▆▆▆▆▆▇▆▆▆▇▇▄| -2023-09-11 09:20:11,138 V14.A|▄▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▄| -2023-09-11 09:20:11,138 Q15.A|▅▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 V15.A|▄▇▇▇▆▇▆▇▆▆▆▇▇▇▆▇▇▆▇▆▇▆▆▇▆▆▆▇▇▇▆▆▆▆▇▇▆▇▆▇▆▆▇▆▆▆▇▇▇▆▆▇▇▇▇▇▆▆▇▄| -2023-09-11 09:20:11,138 Q16.A|▅▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▆▇▇▆▇▇▇▇▆▇▇▇▆▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▆▄| -2023-09-11 09:20:11,138 V16.A|▅▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 Q17.A|▄▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▅| -2023-09-11 09:20:11,138 V17.A|▄▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▆▆▇▆▆▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▅| -2023-09-11 09:20:11,138 Q18.A|▄▇▆▇▆▇▆▇▇▇▆▇▇▇▇▆▇▇▇▇▇▆▇▇▇▆▇▆▆▆▇▇▆▇▇▇▇▆▆▇▇▆▇▆▇▇▆▆▇▆▇▇▇▆▆▇▇▇▇▅| -2023-09-11 09:20:11,138 V18.A|▄▇▇▆▇▆▇▇▇▇▇▇▆▆▇▆▇▆▆▇▇▇▆▆▆▇▇▇▇▆▇▆▇▇▆▇▇▇▇▆▇▇▇▆▇▇▆▇▆▆▇▇▆▇▇▆▇▆▆▄| -2023-09-11 09:20:11,138 Q19.A|▄▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▆▇▇▇▇▆▇▆▇▇▆▇▇▆▇▆▆▄| -2023-09-11 09:20:11,138 V19.A|▅▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▅| -2023-09-11 09:20:11,138 Q20.A|▅▇▆▇▇▇▆▇▇▇▆▆▆▇▇▇▇▇▇▇▇▆▇▇▆▇▇▆▇▇▇▆▆▆▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 V20.A|▄▇▆▇▆▇▆▇▆▇▆▆▆▆▇▇▆▇▆▇▆▆▆▆▇▇▇▇▇▇▇▆▇▇▆▆▇▇▇▆▆▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▆▆▅| -2023-09-11 09:20:11,138 Q21.A|▅▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▅| -2023-09-11 09:20:11,138 V21.A|▄▇▇▇▇▆▆▇▇▆▇▇▇▇▆▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▆▇▇▇▇▇▄| -2023-09-11 09:20:11,138 Q22.A|▅▇▇▇▇▇▆▇▇▇▇▇▆▆▇▇▇▇▇▇▆▆▇▆▆▇▇▇▆▆▇▇▇▆▇▇▇▇▇▆▇▇▇▆▇▆▇▇▇▆▇▇▇▇▇▇▇▆▇▅| -2023-09-11 09:20:11,138 V22.A|▅▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▆▆▇▆▇▇▆▇▆▇▆▇▇▇▆▇▇▇▇▇▆▇▆▆▇▇▇▇▆▆▇▆▇▇▇▆▇▇▇▇▆▅| -2023-09-11 09:20:11,138 Q23.A|▅▆▇▇▇▆▆▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 V23.A|▅▇▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 Q24.A|▅▇▇▆▆▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▆▆▇▇▇▇▇▆▇▇▆▇▇▇▇▇▇▇▆▇▆▆▇▇▇▆▆▇▅| -2023-09-11 09:20:11,138 V24.A|▅▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▆▆▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 Q25.A|▅▇▇▇▆▇▇▆▇▇▆▇▇▆▆▆▇▆▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▆▇▇▆▇▇▇▇▇▆▇▇▆▇▇▇▇▇▅| -2023-09-11 09:20:11,138 V25.A|▅▇▇▆▇▆▇▇▆▇▆▇▇▆▆▇▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▆▇▆▇▆▆▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 Q26.A|▅▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 V26.A|▅▇▆▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▅| -2023-09-11 09:20:11,138 Q27.A|▅▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▆▆▇▇▆▇▇▇▇▆▇▇▇▇▆▆▇▇▇▇▇▇▆▇▇▇▇▄| -2023-09-11 09:20:11,138 V27.A|▄▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▆▇▇▆▆▇▇▇▆▇▇▇▇▇▇▇▆▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 Q28.A|▅▇▇▇▇▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▄| -2023-09-11 09:20:11,138 V28.A|▅▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 Q29.A|▄▇▇▆▆▆▆▆▇▆▆▇▇▆▆▇▆▆▆▇▆▆▇▆▆▆▆▇▆▇▇▆▆▆▇▆▆▆▆▆▆▆▇▆▆▆▆▇▆▆▆▇▇▆▇▇▆▇▇▄| -2023-09-11 09:20:11,138 V29.A|▄▆▇▆▇▇▇▆▇▇▆▇▇▇▇▇▇▇▇▆▇▇▆▇▇▇▇▇▆▆▇▆▇▇▇▇▇▇▆▇▇▇▆▆▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 Q30.A|▄▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅| -2023-09-11 09:20:11,138 V30.A|▄▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▆▇▇▇▆▇▇▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▇▇▅| -2023-09-11 09:20:11,138 Q31.A|▄▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▇▇▆▇▇▇▆▇▇▇▆▇▇▇▇▇▇▇▇▆▇▇▇▇▅| -2023-09-11 09:20:11,138 V31.A|▄▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▆▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▆▇▇▇▇▇▇▇▆▇▅| -2023-09-11 09:20:11,139 -=== WEIGHTS B === -2023-09-11 09:20:11,620 ~~~~~~~~~~~ -0.0003|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|0.0003 -2023-09-11 09:20:11,620 Q0.B|▇▄▃▂▁▁▁▁ ▁▁▁▁▂▂▄▇| -2023-09-11 09:20:11,620 V0.B|▇▄▃▂▁▁ ▁▁▂▂▄▇| -2023-09-11 09:20:11,620 Q1.B|▇▅▃▂▁▁▁▁ ▁▁▁▁▂▃▄▇| -2023-09-11 09:20:11,620 V1.B|▇▃▂▁▁ ▁▁▂▃▇| -2023-09-11 09:20:11,620 Q2.B|▇▄▃▂▁▁▁ ▁▁▁▂▃▄▇| -2023-09-11 09:20:11,620 V2.B|▇▃▂▁▁ ▁▁▂▃▇| -2023-09-11 09:20:11,620 Q3.B|▇▄▂▂▁▁▁ ▁▁▁▂▂▄▇| -2023-09-11 09:20:11,620 V3.B|▇▃▂▁ ▁▂▃▇| -2023-09-11 09:20:11,620 Q4.B|▇▄▂▂▁▁ ▁▁▂▂▄▇| -2023-09-11 09:20:11,620 V4.B|▇▃▂▁ ▁▂▃▇| -2023-09-11 09:20:11,620 Q5.B|▇▃▂▂▁▁ ▁▁▂▂▃▇| -2023-09-11 09:20:11,620 V5.B|▇▃▂▁ ▁▂▃▇| -2023-09-11 09:20:11,620 Q6.B|▇▃▂▁▁ ▁▁▂▃▇| -2023-09-11 09:20:11,620 V6.B|▇▃▂▁ ▁▁▂▃▇| -2023-09-11 09:20:11,620 Q7.B|▇▃▂▁▁▁ ▁▁▁▂▃▇| -2023-09-11 09:20:11,620 V7.B|▇▃▁▁ ▁▁▂▇| -2023-09-11 09:20:11,620 Q8.B|▇▃▂▁▁ ▁▁▂▃▇| -2023-09-11 09:20:11,620 V8.B|▇▃▁▁ ▁▁▃▇| -2023-09-11 09:20:11,620 Q9.B|▇▃▂▁▁ ▁▁▂▃▇| -2023-09-11 09:20:11,620 V9.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:20:11,620 Q10.B|▇▃▂▁▁ ▁▁▂▃▇| -2023-09-11 09:20:11,620 V10.B|▇▃▂▁ ▁▂▃▇| -2023-09-11 09:20:11,620 Q11.B|▇▃▂▁▁ ▁▁▂▃▇| -2023-09-11 09:20:11,620 V11.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:20:11,620 Q12.B|▇▃▂▁▁ ▁▁▂▃▇| -2023-09-11 09:20:11,620 V12.B|▇▂▁▁ ▁▁▃▇| -2023-09-11 09:20:11,620 Q13.B|▇▃▂▁▁ ▁▂▃▇| -2023-09-11 09:20:11,620 V13.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:20:11,620 Q14.B|▇▃▂▁▁ ▁▁▂▃▇| -2023-09-11 09:20:11,620 V14.B|▇▃▁▁ ▁▁▃▇| -2023-09-11 09:20:11,620 Q15.B|▇▃▁▁ ▁▁▃▇| -2023-09-11 09:20:11,620 V15.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:20:11,620 Q16.B|▇▃▁▁ ▁▁▁▃▇| -2023-09-11 09:20:11,620 V16.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:20:11,620 Q17.B|▇▃▂▁ ▁▂▃▇| -2023-09-11 09:20:11,620 V17.B|▇▂▁ ▁▂▇| -2023-09-11 09:20:11,620 Q18.B|▇▃▁▁ ▁▁▂▇| -2023-09-11 09:20:11,620 V18.B|▇▂▁ ▁▂▇| -2023-09-11 09:20:11,620 Q19.B|▇▃▁▁ ▁▁▃▇| -2023-09-11 09:20:11,620 V19.B|▇▂▁ ▁▂▇| -2023-09-11 09:20:11,620 Q20.B|▇▃▂▁▁ ▁▁▂▃▇| -2023-09-11 09:20:11,620 V20.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:20:11,620 Q21.B|▇▃▂▁▁ ▁▁▂▃▇| -2023-09-11 09:20:11,620 V21.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:20:11,620 Q22.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:20:11,620 V22.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:20:11,620 Q23.B|▇▃▁▁▁ ▁▁▃▇| -2023-09-11 09:20:11,620 V23.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:20:11,620 Q24.B|▇▃▂▁▁ ▁▁▂▃▇| -2023-09-11 09:20:11,620 V24.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:20:11,621 Q25.B|▇▃▁▁ ▁▁▃▇| -2023-09-11 09:20:11,621 V25.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:20:11,621 Q26.B|▇▃▁▁ ▁▁▃▇| -2023-09-11 09:20:11,621 V26.B|▇▃▁▁ ▁▁▃▇| -2023-09-11 09:20:11,621 Q27.B|▇▃▁▁ ▁▁▂▇| -2023-09-11 09:20:11,621 V27.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:20:11,621 Q28.B|▇▃▂▁▁ ▁▁▂▃▇| -2023-09-11 09:20:11,621 V28.B|▇▃▁▁ ▁▁▃▇| -2023-09-11 09:20:11,621 Q29.B|▇▃▁▁ ▁▁▃▇| -2023-09-11 09:20:11,621 V29.B|▇▂▁▁ ▁▁▂▇| -2023-09-11 09:20:11,621 Q30.B|▇▃▂▁▁ ▁▁▂▃▇| -2023-09-11 09:20:11,621 V30.B|▇▃▂▁▁ ▁▂▃▇| -2023-09-11 09:20:11,621 Q31.B|▇▃▂▁▁ ▁▁▂▃▇| -2023-09-11 09:20:11,621 V31.B|▇▃▁▁ ▁▁▃▇| -``` \ No newline at end of file diff --git a/mac/slowllama/slowllama/e2e7b.sh b/mac/slowllama/slowllama/e2e7b.sh deleted file mode 100755 index 14bcd5a..0000000 --- a/mac/slowllama/slowllama/e2e7b.sh +++ /dev/null @@ -1,6 +0,0 @@ -# end-to-end test with llama7b. -# TODO: improve to clean up last iter and make it take some params -python prepare_model.py -python test_gen.py -python finetune.py -python test_gen.py ./out/state_dict_19.pth diff --git a/mac/slowllama/slowllama/finetune.py b/mac/slowllama/slowllama/finetune.py deleted file mode 100644 index 4da2ace..0000000 --- a/mac/slowllama/slowllama/finetune.py +++ /dev/null @@ -1,58 +0,0 @@ -import os -import torch -import logging - -from llama2_loader import load_frozen -from plot_lora import log_lora -from utils import Tokenizer, greedy_gen - -from conf_fp16 import * - -if __name__ == '__main__': - logging.basicConfig(format='%(asctime)s %(message)s', level=log_level, filename='logs/finetune.log') - torch.random.manual_seed(seed) - - if not os.path.exists(snapshots_path): - os.makedirs(snapshots_path) - - # data to finetune on - with open(finetune_file) as f: - text = f.read() - - tokenizer = Tokenizer(os.path.join(frozen_model_path, 'tokenizer.model')) - tokens = tokenizer.encode(text, True, True) - - logging.info(f'loaded dataset: {len(tokens)} tokens') - - model = load_frozen(frozen_model_path, compute_dtype=compute_dtype, lora_rank=lora_rank, frozen_dtype=frozen_dtype).to(device).to(compute_dtype) - - def get_batch(batch_size): - index = torch.randint(len(tokens) - seq_len, (batch_size,)) - x = torch.stack([torch.tensor(tokens[i:i + seq_len]).to(torch.int64) for i in index]) - y = torch.stack([torch.tensor(tokens[i + 1:i + seq_len + 1]).to(torch.int64) for i in index]) - return x.to(device), y.to(device) - - opt = torch.optim.AdamW(model.parameters(), lr=lr, eps=adamw_eps) - - last_loss = None - for i in range(iters): - if i % eval_period == 0 and (i > 0 or eval_before_training): - greedy_gen(model, tokenizer, device, prompt, gen_tokens) - logging.info(f'starting iteration {i}') - X, y = get_batch(batch_size) - opt.zero_grad() - # both forward and backward passes are here. - # returned loss is a scalar, not variable - loss = model.manual_loop(X, y) - opt.step() - - # optional logging of lora weights/gradients - log_lora(model.lora_layers, log_weights=log_lora_weight, log_grad=log_lora_grad) - - logging.info(f'backprop done, loss after forward pass = {loss}') - if last_loss is None: - last_loss = loss - elif loss < last_loss: - last_loss = loss - logging.info(f'saving snapshot') - torch.save(model.state_dict(), os.path.join(snapshots_path, f'state_dict_{i}.pth')) diff --git a/mac/slowllama/slowllama/finetune_dolly.py b/mac/slowllama/slowllama/finetune_dolly.py deleted file mode 100644 index 47c858d..0000000 --- a/mac/slowllama/slowllama/finetune_dolly.py +++ /dev/null @@ -1,93 +0,0 @@ -import os -import sys -import torch -import logging - -from llama2_loader import load_frozen -from plot_lora import log_lora -from datasets import load_dataset -from utils import Tokenizer, greedy_gen - -# training settings -seed = 54321 -iters = 1000 -device = 'mps' # mps for macbooks -seq_len = 1024 -batch_size = 4 -lr = 1e-4 - -# type used for computation. Might be different from storage type (which is bfloat16) -compute_dtype = torch.float32 # float32 for macbooks -#compute_dtype = torch.bfloat16 # bfloat16 for CUDA - -eval_before_training = False -eval_period = 20 -gen_tokens = 32 - -log_lora_grad = False -log_lora_weight = True - -model_path = '../llama7b' -snapshots_path = 'out' -finetune_dataset = 'databricks/databricks-dolly-15k' -prompt = 'slowllama is a ' - -if not os.path.exists(snapshots_path): - os.makedirs(snapshots_path) - -tokenizer_path = os.path.join(model_path, 'tokenizer.model') -tokenizer = Tokenizer(tokenizer_path) - -def format_sample(sample): - instruction = f"### Instruction\n{sample['instruction']}\n\n" - context = f"### Context\n{sample['context']}\n\n" if len(sample["context"]) > 0 else "" - response = f"### Answer\n{sample['response']}" - return instruction + context + response - -def prepare_data(): - train_data = load_dataset(finetune_dataset, split="train") - formatted = [format_sample(s) for s in train_data] - return '\n\n'.join(formatted[:100]) - -if __name__ == '__main__': - text = prepare_data() - logging.basicConfig(format='%(asctime)s %(message)s', level=logging.INFO, filename='logs/finetune.log') - torch.random.manual_seed(seed) - - tokens = tokenizer.encode(text, True, True) - - logging.info(f'loaded dataset: {len(tokens)} tokens') - - model = load_frozen(model_path, compute_dtype=compute_dtype).to(device).to(compute_dtype) - - def get_batch(batch_size): - index = torch.randint(len(tokens) - seq_len, (batch_size,)) - x = torch.stack([torch.tensor(tokens[i:i + seq_len]).to(torch.int64) for i in index]) - y = torch.stack([torch.tensor(tokens[i + 1:i + seq_len + 1]).to(torch.int64) for i in index]) - return x.to(device), y.to(device) - - opt = torch.optim.AdamW(model.parameters(), lr=lr) - - last_loss = None - for i in range(iters): - if i % eval_period == 0 and (i > 0 or eval_before_training): - greedy_gen(model, tokenizer, device, prompt, gen_tokens) - logging.info(f'starting iteration {i}') - X, y = get_batch(batch_size) - opt.zero_grad() - # both forward and backward passes are here. - # returned loss is a scalar, not variable - logits, loss = model.manual_loop(X, y) - opt.step() - - # optional logging of lora weights/gradients - if log_lora_grad or log_lora_weight: - log_lora(model.lora_layers, log_weights=log_lora_weight, log_grad=log_lora_grad) - - logging.info(f'backprop done, loss after forward pass = {loss}') - if last_loss is None: - last_loss = loss - elif loss < last_loss: - last_loss = loss - logging.info(f'saving snapshot') - torch.save(model.state_dict(), os.path.join(snapshots_path, f'state_dict_{i}.pth')) diff --git a/mac/slowllama/slowllama/llama2.py b/mac/slowllama/slowllama/llama2.py deleted file mode 100644 index 3d13f00..0000000 --- a/mac/slowllama/slowllama/llama2.py +++ /dev/null @@ -1,380 +0,0 @@ -# based on model.py from https://github.com/karpathy/llama2.c by Andrej Karpathy, MIT licenced - -# modifications by okuvshynov include: -# - no weight tying -# - using blackbox offloadable modules -# - simplify init/generation as we only use it for fine-tuning experiments -# - manual backprop -# - support for ffn_dim_multiplier which llama2-70b uses -# - LoRA - -import logging -import math - -from typing import Optional, Tuple - -import torch -import torch.nn.functional as F -from torch import nn - -from blackbox import BlackboxDisk -from utils import save_rng_state, restore_rng_state, device_map, cleanup_cache -from model_config import ModelArgs - -import logging - - -class RMSNorm(torch.nn.Module): - def __init__(self, dim: int, eps: float): - super().__init__() - self.eps = eps - self.weight = nn.Parameter(torch.ones(dim)) - - def _norm(self, x): - return x * torch.rsqrt(x.pow(2).mean(-1, keepdim=True) + self.eps) - - def forward(self, x): - output = self._norm(x.float()).type_as(x) - return output * self.weight - - -def precompute_freqs_cis(dim: int, end: int, theta: float = 10000.0): - freqs = 1.0 / (theta ** (torch.arange(0, dim, 2)[: (dim // 2)].float() / dim)) - t = torch.arange(end, device=freqs.device) # type: ignore - freqs = torch.outer(t, freqs).float() # type: ignore - freqs_cos = torch.cos(freqs) # real part - freqs_sin = torch.sin(freqs) # imaginary part - return freqs_cos, freqs_sin - -def reshape_for_broadcast(freqs_cis: torch.Tensor, x: torch.Tensor): - ndim = x.ndim - assert 0 <= 1 < ndim - assert freqs_cis.shape == (x.shape[1], x.shape[-1]) - shape = [d if i == 1 or i == ndim - 1 else 1 for i, d in enumerate(x.shape)] - return freqs_cis.view(shape) - -def apply_rotary_emb( - xq: torch.Tensor, - xk: torch.Tensor, - freqs_cos: torch.Tensor, - freqs_sin: torch.Tensor -) -> Tuple[torch.Tensor, torch.Tensor]: - - # reshape xq and xk to match the complex representation - xq_r, xq_i = xq.float().reshape(xq.shape[:-1] + (-1, 2)).unbind(-1) - xk_r, xk_i = xk.float().reshape(xk.shape[:-1] + (-1, 2)).unbind(-1) - - # reshape freqs_cos and freqs_sin for broadcasting - freqs_cos = reshape_for_broadcast(freqs_cos, xq_r) - freqs_sin = reshape_for_broadcast(freqs_sin, xq_r) - - # apply rotation using real numbers - xq_out_r = xq_r * freqs_cos - xq_i * freqs_sin - xq_out_i = xq_r * freqs_sin + xq_i * freqs_cos - xk_out_r = xk_r * freqs_cos - xk_i * freqs_sin - xk_out_i = xk_r * freqs_sin + xk_i * freqs_cos - - # flatten last two dimensions - xq_out = torch.stack([xq_out_r, xq_out_i], dim=-1).flatten(3) - xk_out = torch.stack([xk_out_r, xk_out_i], dim=-1).flatten(3) - - return xq_out.type_as(xq), xk_out.type_as(xk) - -def repeat_kv(x: torch.Tensor, n_rep: int) -> torch.Tensor: - """torch.repeat_interleave(x, dim=2, repeats=n_rep)""" - bs, slen, n_kv_heads, head_dim = x.shape - if n_rep == 1: - return x - return ( - x[:, :, :, None, :] - .expand(bs, slen, n_kv_heads, n_rep, head_dim) - .reshape(bs, slen, n_kv_heads * n_rep, head_dim) - ) - -class Attention(nn.Module): - def __init__(self, args: ModelArgs): - super().__init__() - self.n_kv_heads = args.n_heads if args.n_kv_heads is None else args.n_kv_heads - self.n_heads = args.n_heads - self.n_rep = self.n_heads // self.n_kv_heads - self.head_dim = args.dim // args.n_heads - - # here's where we inject LoRA - self.wq = nn.Linear(args.dim, args.n_heads * self.head_dim, bias=False) - self.wk = nn.Linear(args.dim, self.n_kv_heads * self.head_dim, bias=False) - - # here's where we inject LoRA - self.wv = nn.Linear(args.dim, self.n_kv_heads * self.head_dim, bias=False) - - self.wo = nn.Linear(args.n_heads * self.head_dim, args.dim, bias=False) - - # TODO: probably don't need dropout here as we don't plan to do full finetune - # or maybe we do. - self.attn_dropout = nn.Dropout(args.dropout) - self.resid_dropout = nn.Dropout(args.dropout) - self.dropout = args.dropout - - # use flash attention or a manual implementation? - self.flash = hasattr(torch.nn.functional, 'scaled_dot_product_attention') - if not self.flash: - logging.warn("using slow attention. Flash Attention requires PyTorch >= 2.0") - mask = torch.full((1, 1, args.max_seq_len, args.max_seq_len), float("-inf")) - mask = torch.triu(mask, diagonal=1) - self.register_buffer("mask", mask) - - self.attention_norm = RMSNorm(args.dim, eps=args.norm_eps) - - def forward( - self, - x: torch.Tensor, - freqs_cos: torch.Tensor, - freqs_sin: torch.Tensor, - q_lora: nn.Module, - v_lora: nn.Module - ): - bsz, seqlen, _ = x.shape - - x_base = x - x = self.attention_norm(x) - - # QKV - xq, xk, xv = self.wq(x) + q_lora(x), self.wk(x), self.wv(x) + v_lora(x) - xq = xq.view(bsz, seqlen, self.n_heads, self.head_dim) - xk = xk.view(bsz, seqlen, self.n_kv_heads, self.head_dim) - xv = xv.view(bsz, seqlen, self.n_kv_heads, self.head_dim) - - # RoPE relative positional embeddings - xq, xk = apply_rotary_emb(xq, xk, freqs_cos, freqs_sin) - - # grouped multiquery attention: expand out keys and values - xk = repeat_kv(xk, self.n_rep) # (bs, seqlen, n_heads, head_dim) - xv = repeat_kv(xv, self.n_rep) # (bs, seqlen, n_heads, head_dim) - - # make heads into a batch dimension - xq = xq.transpose(1, 2) # (bs, n_heads, seqlen, head_dim) - xk = xk.transpose(1, 2) - xv = xv.transpose(1, 2) - - # flash implementation - if self.flash: - output = torch.nn.functional.scaled_dot_product_attention(xq, xk, xv, attn_mask=None, dropout_p=self.dropout if self.training else 0.0, is_causal=True) - else: - # manual implementation - scores = torch.matmul(xq, xk.transpose(2, 3)) / math.sqrt(self.head_dim) - assert hasattr(self, 'mask') - scores = scores + self.mask[:, :, :seqlen, :seqlen] # (bs, n_heads, seqlen, cache_len + seqlen) - scores = F.softmax(scores.float(), dim=-1).type_as(xq) - scores = self.attn_dropout(scores) - output = torch.matmul(scores, xv) # (bs, n_heads, seqlen, head_dim) - - # restore time as batch dimension and concat heads - output = output.transpose(1, 2).contiguous().view(bsz, seqlen, -1) - - # final projection into the residual stream - output = self.wo(output) - output = self.resid_dropout(output) - return x_base + output - - -class FeedForward(nn.Module): - def __init__(self, dim: int, hidden_dim: int, multiple_of: int, dropout: float, ffn_dim_multiplier: Optional[float], args: ModelArgs): - super().__init__() - hidden_dim = int(2 * hidden_dim / 3) - if ffn_dim_multiplier is not None: - hidden_dim = int(ffn_dim_multiplier * hidden_dim) - hidden_dim = multiple_of * ((hidden_dim + multiple_of - 1) // multiple_of) - self.w1 = nn.Linear(dim, hidden_dim, bias=False) - self.w2 = nn.Linear(hidden_dim, dim, bias=False) - self.w3 = nn.Linear(dim, hidden_dim, bias=False) - self.dropout = nn.Dropout(dropout) - self.ffn_norm = RMSNorm(args.dim, eps=args.norm_eps) - - def forward(self, x): - x_base = x - x = self.ffn_norm(x) - return x_base + self.dropout(self.w2(F.silu(self.w1(x)) * self.w3(x))) - -class TransformerBlock(nn.Module): - def __init__(self, layer_id: int, args: ModelArgs): - super().__init__() - self.n_heads = args.n_heads - self.dim = args.dim - self.head_dim = args.dim // args.n_heads - - self.attention = BlackboxDisk(Attention(args), args) - self.feed_forward = BlackboxDisk(FeedForward( - dim=args.dim, - hidden_dim=4 * args.dim, - multiple_of=args.multiple_of, - dropout=args.dropout, - ffn_dim_multiplier=args.ffn_dim_multiplier, - args=args - ), args) - self.layer_id = layer_id - - - def forward(self, x, freqs_cos, freqs_sin, lora_q, lora_v): - h = self.attention(x, freqs_cos, freqs_sin, lora_q, lora_v) - out = self.feed_forward(h) - return out - -class LoRA(nn.Module): - def __init__(self, original_layer, rank, alpha, dropout): - super().__init__() - n, m = original_layer.weight.shape - self.A = nn.Linear(m, rank, bias=False) - self.B = nn.Linear(rank, n, bias=False) - nn.init.zeros_(self.B.weight) - self.dropout = nn.Dropout(dropout) - self.scale = alpha / rank - - # return matrix to add to original weight - def expanded(self): - res = self.B.weight.mm(self.A.weight) * self.scale - return res - - def forward(self, x): - return self.dropout(self.B(self.A(x))) * self.scale - -class Transformer(nn.Module): - def __init__(self, params: ModelArgs): - super().__init__() - self.params = params - self.vocab_size = params.vocab_size - self.n_layers = params.n_layers - - self.tok_embeddings = BlackboxDisk(nn.Embedding(params.vocab_size, params.dim), params) - self.dropout = nn.Dropout(params.dropout) - self.layers = torch.nn.ModuleList() - - # we create LoRA adapters separately. As we don't want to load/save them continously - self.lora_layers = [] - for layer_id in range(params.n_layers): - block = TransformerBlock(layer_id, params) - - # TODO: remove this one - attn = block.attention.loaded_inner() - q_lora = LoRA(attn.wq, rank=params.lora_rank, alpha=params.lora_alpha, dropout=params.lora_dropout).to(params.compute_dtype) - v_lora = LoRA(attn.wv, rank=params.lora_rank, alpha=params.lora_alpha, dropout=params.lora_dropout).to(params.compute_dtype) - self.lora_layers.append({ 'q_lora': q_lora, 'v_lora': v_lora}) - self.add_module(f'q_lora_{layer_id}', q_lora) - self.add_module(f'v_lora_{layer_id}', v_lora) - self.layers.append(block) - logging.debug(f'created transformer block {layer_id}') - - self.norm = RMSNorm(params.dim, eps=params.norm_eps) - self.norm.requires_grad = False - self.output = BlackboxDisk(nn.Linear(params.dim, params.vocab_size, bias=False), params) - - # some useful precompute for the RoPE relative positional embeddings - freqs_cos, freqs_sin = precompute_freqs_cis(self.params.dim // self.params.n_heads, self.params.max_seq_len, theta=params.rope_theta) - self.register_buffer("freqs_cos", freqs_cos, persistent=False) - self.register_buffer("freqs_sin", freqs_sin, persistent=False) - - def forward(self, tokens: torch.Tensor) -> torch.Tensor: - _bsz, seqlen = tokens.shape - - # dummy input to force gradient propagation to blackbox modules - h = self.tok_embeddings(tokens) - h = self.dropout(h) - freqs_cos = self.freqs_cos[:seqlen] - freqs_sin = self.freqs_sin[:seqlen] - - for layer, lora in zip(self.layers, self.lora_layers): - h = layer(h, freqs_cos, freqs_sin, lora['q_lora'], lora['v_lora']) - h = self.norm(h) - - return self.output(h[:, [-1], :]) - - def backprop_w_lora(self, blackbox_module, output_grad, *args): - device = output_grad.device - module = blackbox_module.load(device) - - # we use LoRA and only updated attached low-rank modules - # no part of original model is getting any updates, so no need for gradient - for param in module.parameters(): - param.requires_grad = False - - input = blackbox_module.load_input(device) - input.requires_grad = True - - output = module(input, *args) - output.backward(output_grad) - - return input.grad if input.requires_grad else None - - # this is a manual implementation on forward/backward passes - def manual_loop(self, tokens, targets): - logging.log(level=logging.DEBUG, msg=f'starting manual loop') - device = device_map(tokens.device) - - embd_out = self.tok_embeddings(tokens) - embd_out = embd_out.detach() - embd_out.requires_grad = True - logging.log(level=logging.DEBUG, msg=f'done embedding') - - _, seqlen = tokens.shape - - freqs_cos = self.freqs_cos[:seqlen] - freqs_sin = self.freqs_sin[:seqlen] - - current = self.dropout(embd_out) - del embd_out - - rng_before = [] - - for i, (layer, lora) in enumerate(zip(self.layers, self.lora_layers)): - rng_before.append(save_rng_state(device)) - current = layer(current, freqs_cos, freqs_sin, lora['q_lora'], lora['v_lora']) - logging.log(level=logging.DEBUG, msg=f'forward: transformer block {i} done') - - current = current.detach() - current.requires_grad = True - - norm_out = self.norm(current) - norm_out = norm_out.detach() - norm_out.requires_grad = True - - # TODO: micro-optimization: as output is last layer, we can skip loading and running it second time - logging.log(level=logging.DEBUG, msg=f'output layer') - logits = self.output(norm_out) - del norm_out - - logging.log(level=logging.DEBUG, msg=f'output layer done') - - if (self.params.compute_dtype != torch.float32): - logits = logits.to(torch.float32) - - logits = logits.detach() - logits.requires_grad = True - - loss = F.cross_entropy(logits.view(-1, logits.size(-1)), targets.view(-1), ignore_index=-1) - logging.log(level=logging.DEBUG, msg=f'forward: computed loss') - - loss.backward() - - norm_out_grad = self.backprop_w_lora(self.output, logits.grad.to(self.params.compute_dtype)) - del logits - logging.log(level=logging.DEBUG, msg=f'combined: output layer done') - - norm_out2 = self.norm(current) - norm_out2.backward(norm_out_grad) - del norm_out_grad - del norm_out2 - - last_grad = current.grad - del current - - for i, (layer, rng_state, lora) in enumerate(zip(reversed(self.layers), reversed(rng_before), reversed(self.lora_layers))): - cleanup_cache(device) - restore_rng_state(rng_state, device=device) - # first, do feed_forward - last_grad = self.backprop_w_lora(layer.feed_forward, last_grad) - - # now, do attention - cleanup_cache(device) - last_grad = self.backprop_w_lora(layer.attention, last_grad, freqs_cos, freqs_sin, lora['q_lora'], lora['v_lora']) - logging.log(level=logging.DEBUG, msg=f'combined: transformer block {i} done') - - # no need to backpropagate through embeddings no LoRA layers there. - return loss.item() diff --git a/mac/slowllama/slowllama/llama2_loader.py b/mac/slowllama/slowllama/llama2_loader.py deleted file mode 100644 index cea452b..0000000 --- a/mac/slowllama/slowllama/llama2_loader.py +++ /dev/null @@ -1,202 +0,0 @@ -import torch -import os -import json -import gc -import glob -import logging -import shutil - -from model_config import ModelArgs -from llama2 import Transformer -from utils import device_supports_dtype - -# how are weights sharded in llama2 - by rows or columns -join_dim = { - 'wq': 0, - 'wk': 0, - 'wv': 0, - 'wo': 1, - 'w1': 0, - 'w2': 1, - 'w3': 0, - 'output': 0, - 'tok_embeddings': 1, -} - -def get_subset(title, weight_subset, index): - if title in join_dim.keys(): - jdim = join_dim[title] - step = weight_subset.shape[jdim] - subset = (slice(step * index, step * (index + 1)), slice(None)) - if jdim == 1: - subset = (subset[1], subset[0]) - return subset - else: - return tuple(slice(None) for _ in range(len(weight_subset.shape))) - -def get_w_subset(title, weight, shards, shard): - if title in join_dim.keys(): - jdim = join_dim[title] - step = weight.shape[jdim] // shards - subset = (slice(step * shard, step * (shard + 1)), slice(None)) - if jdim == 1: - subset = (subset[1], subset[0]) - return subset - else: - return tuple(slice(None) for _ in range(len(weight.shape))) - -def apply_subset(module, weight_subset, checkpoint_index, title): - with torch.no_grad(): - idx_subset = get_subset(title, weight_subset, checkpoint_index) - module.weight[idx_subset] = weight_subset - -def prepare_model(llama2_path, frozen_path, **kwargs): - params_path = os.path.join(llama2_path, 'params.json') - with open(params_path, 'r') as conf_file: - config = json.loads(conf_file.read()) - - for k, v in kwargs.items(): - config[k] = v - - args = ModelArgs(**config) - args.vocab_size = args.vocab_size_override - args.served_model_path = frozen_path - - logging.info('creating model instance') - model = Transformer(args) - paths = sorted(glob.glob(f'{llama2_path}/consolidated.*.pth')) - - shards = len(paths) - - for ci, checkpoint_path in enumerate(paths): - logging.info(f'prepare_model: processing checkpoint {ci} out of {shards}') - - checkpoint = torch.load(checkpoint_path, map_location='cpu') - - for i, layer in enumerate(model.layers): - prefix = f'layers.{i}.' - #block = layer.loaded_inner() - for title, submodule in layer.named_modules(): - if hasattr(submodule, 'weight'): - full_path = f'{prefix}{title}.weight' - weight_subset = checkpoint[full_path] - apply_subset(submodule, weight_subset, ci, title) - del checkpoint[full_path] - gc.collect() - - prefix = f'layers.{i}.attention.' - attention = layer.attention.loaded_inner() - for title, submodule in attention.named_modules(): - if hasattr(submodule, 'weight'): - if 'attention_norm' in title: - full_path = f'layers.{i}.attention_norm.weight' - else: - full_path = f'{prefix}{title}.weight' - weight_subset = checkpoint[full_path] - apply_subset(submodule, weight_subset, ci, title) - del checkpoint[full_path] - gc.collect() - layer.attention.save(attention) - - prefix = f'layers.{i}.feed_forward.' - feed_forward = layer.feed_forward.loaded_inner() - for title, submodule in feed_forward.named_modules(): - if hasattr(submodule, 'weight'): - if 'ffn_norm' in title: - full_path = f'layers.{i}.ffn_norm.weight' - else: - full_path = f'{prefix}{title}.weight' - weight_subset = checkpoint[full_path] - apply_subset(submodule, weight_subset, ci, title) - del checkpoint[full_path] - gc.collect() - layer.feed_forward.save(feed_forward) - logging.info(f'prepare_model: updating layer {i} out of {len(model.layers)}') - #layer.save(block) - - # now repeat for other submodules: output, embeddings and norm - title = 'output' - block = model.output.loaded_inner() - apply_subset(block, checkpoint[f'{title}.weight'], ci, title) - logging.info(f'prepare_model: updating output layer') - model.output.save(block) - - title = 'tok_embeddings' - block = model.tok_embeddings.loaded_inner() - apply_subset(block, checkpoint[f'{title}.weight'], ci, title) - logging.info(f'prepare_model: updating token embeddings') - model.tok_embeddings.save(block) - - # norm left - apply_subset(model.norm, checkpoint['norm.weight'], ci, None) - - # we also need to copy: - # - params.json - # - model dict itself (norm + Lora) - # - tokenizer?' - shutil.copy(params_path, os.path.join(frozen_path, 'params.json')) - shutil.copy(os.path.join(llama2_path, 'tokenizer.model'), os.path.join(frozen_path, 'tokenizer.model')) - torch.save(model.to(args.frozen_dtype).state_dict(), os.path.join(frozen_path, 'model.pth')) - - return model - -def load_frozen(path, **kwargs): - logging.info(f'loading sequential model from {path}') - params_path = os.path.join(path, 'params.json') - with open(params_path, 'r') as conf_file: - config = json.loads(conf_file.read()) - - for k, v in kwargs.items(): - config[k] = v - - args = ModelArgs(**config) - args.vocab_size = args.vocab_size_override - args.init_frozen = False - args.served_model_path = path - logging.info(f'creating model instance') - model = Transformer(args).to(args.compute_dtype) - logging.info(f'loading model dict') - model.load_state_dict(torch.load(os.path.join(path, 'model.pth')), strict=False) - return model - -# this is merging LoRA back to original weights in llama2 format -def add_lora(model_path, lora_path): - lora_weights = torch.load(lora_path, map_location='cpu') - paths = sorted(glob.glob(f'{model_path}/consolidated.*.pth')) - params_path = os.path.join(model_path, 'params.json') - with open(params_path, 'r') as conf_file: - config = json.loads(conf_file.read()) - - shards = len(paths) - - config = ModelArgs(**config) - - n_layers = int(config.n_layers) - - lora_scale = config.lora_alpha / config.lora_rank - - for ci, checkpoint_path in enumerate(paths): - logging.info(f'add_lora: processing checkpoint {ci} out of {shards}') - checkpoint = torch.load(checkpoint_path, map_location='cpu') - - for layer in range(n_layers): - logging.info(f'add_lora: processing checkpoint {ci} layer {layer} out of {n_layers}') - for attn_key in ['v', 'q']: - local_path = f'w{attn_key}' - checkpoint_key = f'layers.{layer}.attention.{local_path}.weight' - a_key = f'{attn_key}_lora_{layer}.A.weight' - b_key = f'{attn_key}_lora_{layer}.B.weight' - - original_type = lora_weights[b_key].dtype - - if device_supports_dtype('cpu', original_type): - lora = lora_weights[b_key].mm(lora_weights[a_key]) * lora_scale - else: - lora = lora_weights[b_key].to(torch.float32).mm(lora_weights[a_key].to(torch.float32)) * lora_scale - lora = lora.to(original_type) - - subset = get_w_subset(local_path, lora, shards, ci) - checkpoint[checkpoint_key] = checkpoint[checkpoint_key] + lora[subset].to(torch.bfloat16) - torch.save(checkpoint, checkpoint_path) - del checkpoint - gc.collect() diff --git a/mac/slowllama/slowllama/logs/.gitignore b/mac/slowllama/slowllama/logs/.gitignore deleted file mode 100644 index d6b7ef3..0000000 --- a/mac/slowllama/slowllama/logs/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/mac/slowllama/slowllama/merge_lora.py b/mac/slowllama/slowllama/merge_lora.py deleted file mode 100644 index b534014..0000000 --- a/mac/slowllama/slowllama/merge_lora.py +++ /dev/null @@ -1,17 +0,0 @@ -import logging -import os -import sys -import shutil - -from llama2_loader import add_lora - -logging.basicConfig(format='%(asctime)s %(message)s', level=logging.INFO, filename='logs/merge_lora.log') - -model_path = sys.argv[1] -lora_path = sys.argv[2] -out_model_path = sys.argv[3] - -if os.path.exists(out_model_path): - shutil.rmtree(out_model_path) -shutil.copytree(model_path, out_model_path) -add_lora(out_model_path, lora_path) diff --git a/mac/slowllama/slowllama/model_config.py b/mac/slowllama/slowllama/model_config.py deleted file mode 100644 index c98dad4..0000000 --- a/mac/slowllama/slowllama/model_config.py +++ /dev/null @@ -1,27 +0,0 @@ -import torch - -from dataclasses import dataclass -from typing import Optional - -@dataclass -class ModelArgs: - dim: int = 4096 - n_layers: int = 32 - n_heads: int = 32 - n_kv_heads: Optional[int] = None - multiple_of: int = 256 # make SwiGLU hidden layer size multiple of large power of 2 - norm_eps: float = 1e-5 - max_seq_len: int = 2048 - dropout: float = 0.0 # unless we bring back - ffn_dim_multiplier: Optional[float] = None - compute_dtype: torch.dtype = torch.float32 - rope_theta: float = 10000.0 - lora_rank: int = 8 - lora_alpha: int = 64 - lora_dropout: float = 0.05 - served_model_path: str = '' # relative path by default - cached_data_path: str = '' # relative path by default - init_frozen: bool = True - frozen_dtype: torch.dtype = torch.bfloat16 - vocab_size: int = 32000 - vocab_size_override: int = 32000 \ No newline at end of file diff --git a/mac/slowllama/slowllama/plot_lora.py b/mac/slowllama/slowllama/plot_lora.py deleted file mode 100644 index 3a107ba..0000000 --- a/mac/slowllama/slowllama/plot_lora.py +++ /dev/null @@ -1,48 +0,0 @@ -import logging -import torch - -def log_lora(lora_layers, log_weights=True, log_grad=True, log_level=logging.INFO): - if not log_weights and not log_grad: - return - try: - from fewlines import bar - except ImportError: - logging.error('Unable to import fewlines. "pip install fewlines" to use distribution logging') - return - - gradients_a = {} - gradients_b = {} - weights_a = {} - weights_b = {} - - for i, lora in enumerate(lora_layers): - q = lora['q_lora'] - v = lora['v_lora'] - if log_grad: - gradients_a[f'Q{i}.A'] = q.A.weight.grad.view(-1).to(torch.float32).tolist() - gradients_b[f'Q{i}.B'] = q.B.weight.grad.view(-1).to(torch.float32).tolist() - gradients_a[f'V{i}.A'] = v.A.weight.grad.view(-1).to(torch.float32).tolist() - gradients_b[f'V{i}.B'] = v.B.weight.grad.view(-1).to(torch.float32).tolist() - if log_weights: - weights_a[f'Q{i}.A'] = q.A.weight.view(-1).to(torch.float32).tolist() - weights_b[f'Q{i}.B'] = q.B.weight.view(-1).to(torch.float32).tolist() - weights_a[f'V{i}.A'] = v.A.weight.view(-1).to(torch.float32).tolist() - weights_b[f'V{i}.B'] = v.B.weight.view(-1).to(torch.float32).tolist() - - if log_grad: - logging.log(log_level, f'\n=== GRADIENTS A ===') - for l in bar.bar_histograms(gradients_a): - logging.log(log_level, l) - - logging.log(log_level, f'\n=== GRADIENTS B ===') - for l in bar.bar_histograms(gradients_b): - logging.log(log_level, l) - - if log_weights: - logging.log(log_level, f'\n=== WEIGHTS A ===') - for l in bar.bar_histograms(weights_a): - logging.log(log_level, l) - - logging.log(log_level, f'\n=== WEIGHTS B ===') - for l in bar.bar_histograms(weights_b): - logging.log(log_level, l) \ No newline at end of file diff --git a/mac/slowllama/slowllama/prepare_model.py b/mac/slowllama/slowllama/prepare_model.py deleted file mode 100644 index 38979a6..0000000 --- a/mac/slowllama/slowllama/prepare_model.py +++ /dev/null @@ -1,14 +0,0 @@ -# loads model in original llama2 format and saves to another folder in sequential format - -import torch -import logging - -from llama2_loader import prepare_model -from conf_fp16 import * - -logging.basicConfig(format='%(asctime)s %(message)s', - level=logging.DEBUG, filename='logs/prepare_model.log') -torch.random.manual_seed(seed) - -prepare_model(llama2_path=llama2_model_path, frozen_path=frozen_model_path, compute_dtype=compute_dtype, - lora_rank=lora_rank, frozen_dtype=frozen_dtype) diff --git a/mac/slowllama/slowllama/static/finetune_a10_7b.png b/mac/slowllama/slowllama/static/finetune_a10_7b.png deleted file mode 100644 index 1d707ece1ab61f5b5224c61384815b5e04b8c378..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176530 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 z 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

wA&8$ai#_ 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 diff --git a/mac/slowllama/slowllama/static/finetune_combined.png b/mac/slowllama/slowllama/static/finetune_combined.png deleted file mode 100644 index 3c8eeb2955cda1600b19457825c155534ec19382..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 327766 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 diff --git a/mac/slowllama/slowllama/static/finetune_fwd.png b/mac/slowllama/slowllama/static/finetune_fwd.png deleted file mode 100644 index 00dc318687010c46eaf602cc66605578e8bf3cdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 339067 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 P}e~#Z)o0gf^vTaQwI!%D|BV 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%0Awv@z1SMEPDE|Zpo|PE2b(- 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 z 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�Qshw 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

c`+08VzWTa6T_2?@(^Ws1=y@^!B*N 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
>7`wF2(cd=6_XI^)qhaF%@}oK=K^ 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℞l0EsnXdlV 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 diff --git a/mac/slowllama/slowllama/test_data/cubestat.txt b/mac/slowllama/slowllama/test_data/cubestat.txt deleted file mode 100644 index 1dba614..0000000 --- a/mac/slowllama/slowllama/test_data/cubestat.txt +++ /dev/null @@ -1,9 +0,0 @@ -Cubestat is a command-line utility to monitor system metrics in horizon chart format. It was originally created for Apple M1/M2 devices, but now works on Linux with nVidia GPU as well, including Google Colab environment. - -Currently cubestat reports: - -CPU utilization - configurable per core ('expanded'), cluster of cores: Efficiency/Performance ('cluster') or both. Is shown as percentage. -GPU utilization per card/chip. Is shown in percentage. Works for Apple's M1/M2 SoC and nVidia GPUs. For nVidia GPU shows memory usage as well. -ANE (Apple's Neural Engine) power consumption. According to man powermetrics it is an estimate, but seems working good enough as a proxy to ANE utilization. Is shown as percentage. -Disk and network IO; Is shown in Kb/s. -Memory usage in % diff --git a/mac/slowllama/slowllama/test_gen.py b/mac/slowllama/slowllama/test_gen.py deleted file mode 100644 index abab324..0000000 --- a/mac/slowllama/slowllama/test_gen.py +++ /dev/null @@ -1,25 +0,0 @@ -import logging -import torch -import sys -import os - -from llama2_loader import load_frozen -from utils import Tokenizer, greedy_gen -from conf_fp16 import * - -logging.basicConfig(format='%(asctime)s %(message)s', level=logging.DEBUG) - -lora_weights = sys.argv[1] if len(sys.argv) > 1 else None - -tokenizer_path = os.path.join(frozen_model_path, 'tokenizer.model') -tokenizer = Tokenizer(tokenizer_path) - -model = load_frozen(frozen_model_path, dropout=0.0, lora_rank=lora_rank, frozen_dtype=frozen_dtype, compute_dtype=compute_dtype).to(device) -if lora_weights is not None: - logging.debug(model.load_state_dict(torch.load(lora_weights), strict=False)) - -logging.info('Model loaded.') - -prompt = 'Cubestat reports the following metrics: ' - -greedy_gen(model, tokenizer, device, prompt, max_new_tokens=100) diff --git a/mac/slowllama/slowllama/utils.py b/mac/slowllama/slowllama/utils.py deleted file mode 100644 index fa56f85..0000000 --- a/mac/slowllama/slowllama/utils.py +++ /dev/null @@ -1,94 +0,0 @@ -import torch -import sentencepiece -import logging - -def device_map(device): - if str(device).startswith('mps'): - return 'mps' - return str(device) - -def device_supports_dtype(device, dtype): - try: - a = torch.rand(2, 2).to(device).to(dtype) - b = torch.rand(2, 2).to(device).to(dtype) - c = a.mm(b) - logging.debug(f'success, {device} supports {dtype}') - return True - except TypeError as e: - return False - -global_id_auto = 0 - -def next_id(): - global global_id_auto - new_id = global_id_auto - global_id_auto += 1 - return new_id - -def save_rng_state(device='cpu'): - if device == 'cpu': - import torch - return torch.random.get_rng_state() - elif device.startswith('cuda'): - import torch.cuda - return torch.cuda.get_rng_state(device=int(device.split(':')[1])) - elif device.startswith('mps'): - import torch.mps - return torch.mps.get_rng_state() - else: - raise ValueError(f"Unsupported device: {device}") - -def restore_rng_state(rng_state, device='cpu'): - if device == 'cpu': - import torch - torch.random.set_rng_state(rng_state) - elif device.startswith('cuda'): - import torch.cuda - torch.cuda.set_rng_state(rng_state, device=int(device.split(':')[1])) - elif device.startswith('mps'): - import torch.mps - torch.mps.set_rng_state(rng_state) - else: - raise ValueError(f"Unsupported device: {device}") - -def greedy_gen(model, tokenizer, device, prompt, max_new_tokens=50): - tokens = torch.tensor(tokenizer.encode(prompt, True, False)).view(1, -1).to(device) - model.eval() - for _ in range(max_new_tokens): - logits = model(tokens) - logits = logits[:, -1, :] - _, next_token = torch.topk(logits, k=1, dim=-1) - logging.info(f'next token: {next_token} {tokenizer.decode(next_token.tolist())}') - tokens = torch.cat((tokens, next_token), dim=1) - - for i, output in enumerate(tokens): - logging.info(f'{i} - {tokenizer.decode(output.tolist())}') - -def greedy_gen2(model, tokenizer, device, prompt, max_new_tokens=50): - tokens = torch.tensor(tokenizer.encode(prompt, True, False)).view(1, -1).to(device) - model.eval() - for _ in range(max_new_tokens): - logits = model(tokens) - logits = logits[:, -1, :] - _, next_token = torch.topk(logits, k=1, dim=-1) - logging.info(f'next token: {next_token} {tokenizer.decode(next_token.tolist())}') - yield tokenizer.decode(next_token.tolist())[0] - tokens = torch.cat((tokens, next_token), dim=1) - -def cleanup_cache(device='cpu'): - if device.startswith('mps'): - import torch.mps - torch.mps.empty_cache() - - -class Tokenizer: - def __init__(self, path): - self.model = sentencepiece.SentencePieceProcessor(path) - - def encode(self, text, bos=False, eos=False): - b = [self.model.bos_id()] if bos else [] - e = [self.model.eos_id()] if eos else [] - return b + self.model.encode(text) + e - - def decode(self, tokens): - return self.model.decode(tokens) From 62e6301a8abbd84b5cac116dd92e3b846ea45a99 Mon Sep 17 00:00:00 2001 From: jazelly Date: Sun, 5 May 2024 20:00:11 +0930 Subject: [PATCH 13/96] fix: submodule --- .gitmodules | 3 +++ mac/slowllama/slowllama | 1 + 2 files changed, 4 insertions(+) create mode 160000 mac/slowllama/slowllama diff --git a/.gitmodules b/.gitmodules index 50d5412..12c1994 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "llama-gguf/llama.cpp"] path = llama-gguf/llama.cpp url = git@github.com:ggerganov/llama.cpp.git +[submodule "mac/slowllama/slowllama"] + path = mac/slowllama/slowllama + url = git@github.com:jazelly/slowllama.git diff --git a/mac/slowllama/slowllama b/mac/slowllama/slowllama new file mode 160000 index 0000000..0d8a4cf --- /dev/null +++ b/mac/slowllama/slowllama @@ -0,0 +1 @@ +Subproject commit 0d8a4cf5dc8767db81d019812f054a77ce68b31e From 16e8a9ee2a0d05f2b9faa0a2a8b6eac23ac507b1 Mon Sep 17 00:00:00 2001 From: jazelly Date: Sun, 5 May 2024 21:49:56 +0930 Subject: [PATCH 14/96] chore: setup slowllama --- .gitmodules | 2 +- mac/README.md | 6 ++---- mac/slowllama/llama2/README.md | 14 ++++++++++++-- mac/slowllama/llama2/slowllama.py | 19 ++++++++++--------- 4 files changed, 25 insertions(+), 16 deletions(-) diff --git a/.gitmodules b/.gitmodules index 12c1994..5b0f002 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,4 +3,4 @@ url = git@github.com:ggerganov/llama.cpp.git [submodule "mac/slowllama/slowllama"] path = mac/slowllama/slowllama - url = git@github.com:jazelly/slowllama.git + url = git@github.com:jazelly/slowllama.git \ No newline at end of file diff --git a/mac/README.md b/mac/README.md index 068334e..8f3ac0d 100644 --- a/mac/README.md +++ b/mac/README.md @@ -2,13 +2,11 @@ Currently there are 2 ways supported. -1. in slowllama - under this dir +1. in slowllama - under this dir, for LLAMA-2 only 2. in llama.cpp - refer to [llama-gguf/README.md](../llama-gguf/README.md) -Both only support LLAMA based models. - ## Slowllama -Slowllama is a python project purely focusing on finetuning LLAMA model on MacBook. It offloads weights to SSD to support training of large-sized model, i.e. 70B parameters. +Slowllama is a python project purely focusing on finetuning LLAMA-2 model on MacBook. It offloads weights to SSD to support training of large-sized model, i.e. 70B parameters. Please refer to `./slowllama/` for specific instructions of usage \ No newline at end of file diff --git a/mac/slowllama/llama2/README.md b/mac/slowllama/llama2/README.md index 18f3e2d..c6af363 100644 --- a/mac/slowllama/llama2/README.md +++ b/mac/slowllama/llama2/README.md @@ -12,6 +12,16 @@ project ``` - Download model from [meta-llama/llama](https://github.com/meta-llama/llama) to -this dir +this dir, and put it like `./llama-2-7b`, at the same level with this README -- Suppose the downloaded model is in dir `llama-2-7b` \ No newline at end of file +- Install submodules + ``` + git submodule init + git submodule update --init --recursive + ``` + +- Install llama as module + ``` + cd model + python setup.py install + ``` \ No newline at end of file diff --git a/mac/slowllama/llama2/slowllama.py b/mac/slowllama/llama2/slowllama.py index 8c5f0d4..b137333 100644 --- a/mac/slowllama/llama2/slowllama.py +++ b/mac/slowllama/llama2/slowllama.py @@ -10,7 +10,8 @@ import glob import shutil -from llama2 import Transformer +# from llama2 import Transformer +from model.llama import Transformer from dataclasses import dataclass from typing import Optional @@ -264,7 +265,6 @@ def add_lora(model_path, lora_path): del checkpoint gc.collect() - logging.basicConfig( format="%(asctime)s %(message)s", level=logging.DEBUG, @@ -272,10 +272,11 @@ def add_lora(model_path, lora_path): ) torch.random.manual_seed(seed) -prepare_model( - llama2_path=llama2_model_path, - frozen_path=frozen_model_path, - compute_dtype=compute_dtype, - lora_rank=lora_rank, - frozen_dtype=frozen_dtype, -) +if __name__ == '__main__' and __package__ is None: + prepare_model( + llama2_path=llama2_model_path, + frozen_path=frozen_model_path, + compute_dtype=compute_dtype, + lora_rank=lora_rank, + frozen_dtype=frozen_dtype, + ) From 8c52b8e7cc6b390c5e4b537c1b8f102b8ddc2d36 Mon Sep 17 00:00:00 2001 From: jazelly Date: Wed, 8 May 2024 23:01:57 +0930 Subject: [PATCH 15/96] feat: load llama 2 --- .gitmodules | 2 +- mac/slowllama/llama2/README.md | 7 ++-- .../llama2/{slowllama.py => load.py} | 33 ++++++++++++++----- mac/slowllama/{ => llama2}/slowllama | 0 4 files changed, 30 insertions(+), 12 deletions(-) rename mac/slowllama/llama2/{slowllama.py => load.py} (93%) rename mac/slowllama/{ => llama2}/slowllama (100%) diff --git a/.gitmodules b/.gitmodules index 5b0f002..ee42b95 100644 --- a/.gitmodules +++ b/.gitmodules @@ -2,5 +2,5 @@ path = llama-gguf/llama.cpp url = git@github.com:ggerganov/llama.cpp.git [submodule "mac/slowllama/slowllama"] - path = mac/slowllama/slowllama + path = mac/slowllama/llama2/slowllama url = git@github.com:jazelly/slowllama.git \ No newline at end of file diff --git a/mac/slowllama/llama2/README.md b/mac/slowllama/llama2/README.md index c6af363..bd27bb4 100644 --- a/mac/slowllama/llama2/README.md +++ b/mac/slowllama/llama2/README.md @@ -20,8 +20,9 @@ this dir, and put it like `./llama-2-7b`, at the same level with this README git submodule update --init --recursive ``` -- Install llama as module +- Update `config.py` to match model path + +- Prepare model first ``` - cd model - python setup.py install + python slowllama.py ``` \ No newline at end of file diff --git a/mac/slowllama/llama2/slowllama.py b/mac/slowllama/llama2/load.py similarity index 93% rename from mac/slowllama/llama2/slowllama.py rename to mac/slowllama/llama2/load.py index b137333..592db8a 100644 --- a/mac/slowllama/llama2/slowllama.py +++ b/mac/slowllama/llama2/load.py @@ -10,8 +10,30 @@ import glob import shutil -# from llama2 import Transformer -from model.llama import Transformer +import sys +from pathlib import Path + +logging.basicConfig( + format="%(asctime)s %(message)s", + level=logging.DEBUG, + filename="logs/prepare_model.log", +) + +file = Path(__file__).resolve() +temp_syspath_llama2 = str(file.parent) + "/slowllama" +sys.path.append(temp_syspath_llama2) +logging.info(f"Added syspath {temp_syspath_llama2}") + +from llama2 import Transformer + +try: + logging.info(f"Removing syspath {temp_syspath_llama2}") + sys.path.remove(temp_syspath_llama2) + logging.info(f"Removed syspath {temp_syspath_llama2}") +except ValueError: + logging.WARN(f"Error occurred while trying to remove syspath {temp_syspath_llama2}") + logging.WARN(ValueError) + pass from dataclasses import dataclass from typing import Optional @@ -265,14 +287,9 @@ def add_lora(model_path, lora_path): del checkpoint gc.collect() -logging.basicConfig( - format="%(asctime)s %(message)s", - level=logging.DEBUG, - filename="logs/prepare_model.log", -) torch.random.manual_seed(seed) -if __name__ == '__main__' and __package__ is None: +if __name__ == "__main__" and __package__ is None: prepare_model( llama2_path=llama2_model_path, frozen_path=frozen_model_path, diff --git a/mac/slowllama/slowllama b/mac/slowllama/llama2/slowllama similarity index 100% rename from mac/slowllama/slowllama rename to mac/slowllama/llama2/slowllama From 1b80d9614856a4661423d41b54ec634d317c58c6 Mon Sep 17 00:00:00 2001 From: jazelly Date: Thu, 9 May 2024 08:59:26 +0930 Subject: [PATCH 16/96] chore: update ignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index d86ec6e..23f3a17 100644 --- a/.gitignore +++ b/.gitignore @@ -162,4 +162,4 @@ cython_debug/ checkpoint_dir/ results/ -llama-2-7b/ \ No newline at end of file +llama-2-7b*/ From 9a5e79fdab242a6c4692002ab97391f8a1ab794a Mon Sep 17 00:00:00 2001 From: jazelly Date: Thu, 9 May 2024 21:10:45 +0930 Subject: [PATCH 17/96] chore: update readme --- phi3/README.md | 16 ++++++++++++++++ phi3/script/sft.py | 15 --------------- 2 files changed, 16 insertions(+), 15 deletions(-) create mode 100644 phi3/README.md diff --git a/phi3/README.md b/phi3/README.md new file mode 100644 index 0000000..1ed031e --- /dev/null +++ b/phi3/README.md @@ -0,0 +1,16 @@ +A simple example on using SFTTrainer and Accelerate to finetune Phi-3 models. For +a more advanced example, please follow HF alignment-handbook/scripts/run_sft.py + +1. Install accelerate: + conda install -c conda-forge accelerate +2. Setup accelerate config: + accelerate config to simply use all the GPUs available: + ``` + python -c "from accelerate.utils import write_basic_config; write_basic_config(mixed_precision='bf16')" + ``` + check accelerate config: + `accelerate env` +3. Run the code: + ``` + accelerate launch script/sft.py + ``` \ No newline at end of file diff --git a/phi3/script/sft.py b/phi3/script/sft.py index 1e7e8bd..f6cf6a7 100644 --- a/phi3/script/sft.py +++ b/phi3/script/sft.py @@ -3,21 +3,6 @@ from trl import SFTTrainer from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments -""" -A simple example on using SFTTrainer and Accelerate to finetune Phi-3 models. For -a more advanced example, please follow HF alignment-handbook/scripts/run_sft.py -1. Install accelerate: - conda install -c conda-forge accelerate -2. Setup accelerate config: - accelerate config -to simply use all the GPUs available: - python -c "from accelerate.utils import write_basic_config; write_basic_config(mixed_precision='bf16')" -check accelerate config: - accelerate env -3. Run the code: - accelerate launch sample_finetune.py -""" - ################### # Hyper-parameters ################### From 5b4484fdc2f740d99d8cdfb84fd6e179f114bf16 Mon Sep 17 00:00:00 2001 From: jazelly Date: Thu, 9 May 2024 21:10:57 +0930 Subject: [PATCH 18/96] chore: update readme --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/README.md b/README.md index c8dd57c..3db13c5 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,20 @@ This repo aims to provide the finest collection of all tuning scripts that can b Every training script in this repo is tested across multiple platforms. +## Supported finetuning techniques + +There are still a lot to implement, so stay tuned. + +| Model | SFT | DPO | ORPO | KTO | PRO | +|------------|-----|-----|------|-----|-----| +| llama 2 | ✅ | ❌ | ❌ | ❌ | ❌ | +| llama 3 | ✅ | ❌ | ✅ | ❌ | ❌ | +| llama-gguf | ✅ | ❌ | ❌ | ❌ | ❌ | +| llama-ggml | ❌ | ❌ | ❌ | ❌ | ❌ | +| phi-3 | ✅ | ❌ | ❌ | ❌ | ❌ | +| Mistral | ✅ | ✅ | ❌ | ❌ | ❌ | + + ## General Setup - Install pytorch From 7cbfab83ddf386764e2a65020a85494a19c7d6e4 Mon Sep 17 00:00:00 2001 From: jazelly Date: Sat, 11 May 2024 22:27:43 +0930 Subject: [PATCH 19/96] feat: support slowllama --- mac/slowllama/llama2/README.md | 7 +- mac/slowllama/llama2/config.py | 10 +- mac/slowllama/llama2/finetune.py | 107 ++++++++++++++++++ mac/slowllama/llama2/infer.py | 25 ++++ .../llama2/{load.py => load_model.py} | 16 +-- mac/slowllama/llama2/utils.py | 94 +++++++++++++++ 6 files changed, 247 insertions(+), 12 deletions(-) create mode 100644 mac/slowllama/llama2/finetune.py create mode 100644 mac/slowllama/llama2/infer.py rename mac/slowllama/llama2/{load.py => load_model.py} (96%) create mode 100644 mac/slowllama/llama2/utils.py diff --git a/mac/slowllama/llama2/README.md b/mac/slowllama/llama2/README.md index bd27bb4..03bfda6 100644 --- a/mac/slowllama/llama2/README.md +++ b/mac/slowllama/llama2/README.md @@ -24,5 +24,10 @@ this dir, and put it like `./llama-2-7b`, at the same level with this README - Prepare model first ``` - python slowllama.py + python load_model.py + ``` + +- Once it's done, you can finetune it by + ``` + python finetune.py ``` \ No newline at end of file diff --git a/mac/slowllama/llama2/config.py b/mac/slowllama/llama2/config.py index 6da85a5..6dec628 100644 --- a/mac/slowllama/llama2/config.py +++ b/mac/slowllama/llama2/config.py @@ -49,14 +49,18 @@ snapshots_path = 'out' # plaintext input file which will be tokenized and used for training -finetune_file = '../slowllama/test_data/cubestat.txt' +finetune_file = './slowllama/test_data/cubestat.txt' # which model to use - path to raw model -llama2_model_path = './llama-2-7b' +llama2_model_path = './llama-2-7b-chat' adamw_eps = 1e-4 compute_dtype = torch.float16 frozen_dtype = torch.float16 # trained model to store -frozen_model_path = './llama-2-7b_f16' \ No newline at end of file +frozen_model_path = llama2_model_path + '_f16' + +adamw_eps = 1e-4 +compute_dtype = torch.float16 +frozen_dtype = torch.float16 diff --git a/mac/slowllama/llama2/finetune.py b/mac/slowllama/llama2/finetune.py new file mode 100644 index 0000000..e6b4bfa --- /dev/null +++ b/mac/slowllama/llama2/finetune.py @@ -0,0 +1,107 @@ +import os +import torch +import logging +from load_model import load_frozen +from config import * +from utils import Tokenizer, greedy_gen + +logging.basicConfig( + format="%(asctime)s %(message)s", + level=logging.DEBUG, + filename="logs/finetune.log", +) + +def log_lora(lora_layers, log_weights=True, log_grad=True, log_level=logging.INFO): + if not log_weights and not log_grad: + return + try: + from fewlines import bar + except ImportError: + logging.error('Unable to import fewlines. "pip install fewlines" to use distribution logging') + return + + gradients_a = {} + gradients_b = {} + weights_a = {} + weights_b = {} + + for i, lora in enumerate(lora_layers): + q = lora['q_lora'] + v = lora['v_lora'] + if log_grad: + gradients_a[f'Q{i}.A'] = q.A.weight.grad.view(-1).to(torch.float32).tolist() + gradients_b[f'Q{i}.B'] = q.B.weight.grad.view(-1).to(torch.float32).tolist() + gradients_a[f'V{i}.A'] = v.A.weight.grad.view(-1).to(torch.float32).tolist() + gradients_b[f'V{i}.B'] = v.B.weight.grad.view(-1).to(torch.float32).tolist() + if log_weights: + weights_a[f'Q{i}.A'] = q.A.weight.view(-1).to(torch.float32).tolist() + weights_b[f'Q{i}.B'] = q.B.weight.view(-1).to(torch.float32).tolist() + weights_a[f'V{i}.A'] = v.A.weight.view(-1).to(torch.float32).tolist() + weights_b[f'V{i}.B'] = v.B.weight.view(-1).to(torch.float32).tolist() + + if log_grad: + logging.log(log_level, f'\n=== GRADIENTS A ===') + for l in bar.bar_histograms(gradients_a): + logging.log(log_level, l) + + logging.log(log_level, f'\n=== GRADIENTS B ===') + for l in bar.bar_histograms(gradients_b): + logging.log(log_level, l) + + if log_weights: + logging.log(log_level, f'\n=== WEIGHTS A ===') + for l in bar.bar_histograms(weights_a): + logging.log(log_level, l) + + logging.log(log_level, f'\n=== WEIGHTS B ===') + for l in bar.bar_histograms(weights_b): + logging.log(log_level, l) + +if __name__ == '__main__': + logging.basicConfig(format='%(asctime)s %(message)s', level=log_level, filename='logs/finetune.log') + torch.random.manual_seed(seed) + + if not os.path.exists(snapshots_path): + os.makedirs(snapshots_path) + + # data to finetune on + with open(finetune_file) as f: + text = f.read() + + tokenizer = Tokenizer(os.path.join(frozen_model_path, 'tokenizer.model')) + tokens = tokenizer.encode(text, True, True) + + logging.info(f'loaded dataset: {len(tokens)} tokens') + + model = load_frozen(frozen_model_path, compute_dtype=compute_dtype, lora_rank=lora_rank, frozen_dtype=frozen_dtype).to(device).to(compute_dtype) + + def get_batch(batch_size): + index = torch.randint(len(tokens) - seq_len, (batch_size,)) + x = torch.stack([torch.tensor(tokens[i:i + seq_len]).to(torch.int64) for i in index]) + y = torch.stack([torch.tensor(tokens[i + 1:i + seq_len + 1]).to(torch.int64) for i in index]) + return x.to(device), y.to(device) + + opt = torch.optim.AdamW(model.parameters(), lr=lr, eps=adamw_eps) + + last_loss = None + for i in range(iters): + if i % eval_period == 0 and (i > 0 or eval_before_training): + greedy_gen(model, tokenizer, device, prompt, gen_tokens) + logging.info(f'starting iteration {i}') + X, y = get_batch(batch_size) + opt.zero_grad() + # both forward and backward passes are here. + # returned loss is a scalar, not variable + loss = model.manual_loop(X, y) + opt.step() + + # optional logging of lora weights/gradients + log_lora(model.lora_layers, log_weights=log_lora_weight, log_grad=log_lora_grad) + + logging.info(f'backprop done, loss after forward pass = {loss}') + if last_loss is None: + last_loss = loss + elif loss < last_loss: + last_loss = loss + logging.info(f'saving snapshot') + torch.save(model.state_dict(), os.path.join(snapshots_path, f'state_dict_{i}.pth')) diff --git a/mac/slowllama/llama2/infer.py b/mac/slowllama/llama2/infer.py new file mode 100644 index 0000000..bc8d764 --- /dev/null +++ b/mac/slowllama/llama2/infer.py @@ -0,0 +1,25 @@ +import logging +import torch +import sys +import os + +from load_model import load_frozen +from utils import Tokenizer, greedy_gen +from config import * + +logging.basicConfig(format='%(asctime)s %(message)s', level=logging.DEBUG) + +lora_weights = sys.argv[1] if len(sys.argv) > 1 else None + +tokenizer_path = os.path.join(frozen_model_path, 'tokenizer.model') +tokenizer = Tokenizer(tokenizer_path) + +model = load_frozen(frozen_model_path, dropout=0.0, lora_rank=lora_rank, frozen_dtype=frozen_dtype, compute_dtype=compute_dtype).to(device) +if lora_weights is not None: + logging.debug(model.load_state_dict(torch.load(lora_weights), strict=False)) + +logging.info('Model loaded.') + +prompt = 'Cubestat reports the following metrics: ' + +greedy_gen(model, tokenizer, device, prompt, max_new_tokens=100) diff --git a/mac/slowllama/llama2/load.py b/mac/slowllama/llama2/load_model.py similarity index 96% rename from mac/slowllama/llama2/load.py rename to mac/slowllama/llama2/load_model.py index 592db8a..39239a5 100644 --- a/mac/slowllama/llama2/load.py +++ b/mac/slowllama/llama2/load_model.py @@ -16,22 +16,22 @@ logging.basicConfig( format="%(asctime)s %(message)s", level=logging.DEBUG, - filename="logs/prepare_model.log", + filename="logs/load_model.log", ) file = Path(__file__).resolve() -temp_syspath_llama2 = str(file.parent) + "/slowllama" -sys.path.append(temp_syspath_llama2) -logging.info(f"Added syspath {temp_syspath_llama2}") +temp_syspath_slowllama = str(file.parent) + "/slowllama" +sys.path.append(temp_syspath_slowllama) +logging.debug(f"Added syspath {temp_syspath_slowllama}") from llama2 import Transformer try: - logging.info(f"Removing syspath {temp_syspath_llama2}") - sys.path.remove(temp_syspath_llama2) - logging.info(f"Removed syspath {temp_syspath_llama2}") + logging.debug(f"Removing syspath {temp_syspath_slowllama}") + sys.path.remove(temp_syspath_slowllama) + logging.debug(f"Removed syspath {temp_syspath_slowllama}") except ValueError: - logging.WARN(f"Error occurred while trying to remove syspath {temp_syspath_llama2}") + logging.WARN(f"Error occurred while trying to remove syspath {temp_syspath_slowllama}") logging.WARN(ValueError) pass diff --git a/mac/slowllama/llama2/utils.py b/mac/slowllama/llama2/utils.py new file mode 100644 index 0000000..fa56f85 --- /dev/null +++ b/mac/slowllama/llama2/utils.py @@ -0,0 +1,94 @@ +import torch +import sentencepiece +import logging + +def device_map(device): + if str(device).startswith('mps'): + return 'mps' + return str(device) + +def device_supports_dtype(device, dtype): + try: + a = torch.rand(2, 2).to(device).to(dtype) + b = torch.rand(2, 2).to(device).to(dtype) + c = a.mm(b) + logging.debug(f'success, {device} supports {dtype}') + return True + except TypeError as e: + return False + +global_id_auto = 0 + +def next_id(): + global global_id_auto + new_id = global_id_auto + global_id_auto += 1 + return new_id + +def save_rng_state(device='cpu'): + if device == 'cpu': + import torch + return torch.random.get_rng_state() + elif device.startswith('cuda'): + import torch.cuda + return torch.cuda.get_rng_state(device=int(device.split(':')[1])) + elif device.startswith('mps'): + import torch.mps + return torch.mps.get_rng_state() + else: + raise ValueError(f"Unsupported device: {device}") + +def restore_rng_state(rng_state, device='cpu'): + if device == 'cpu': + import torch + torch.random.set_rng_state(rng_state) + elif device.startswith('cuda'): + import torch.cuda + torch.cuda.set_rng_state(rng_state, device=int(device.split(':')[1])) + elif device.startswith('mps'): + import torch.mps + torch.mps.set_rng_state(rng_state) + else: + raise ValueError(f"Unsupported device: {device}") + +def greedy_gen(model, tokenizer, device, prompt, max_new_tokens=50): + tokens = torch.tensor(tokenizer.encode(prompt, True, False)).view(1, -1).to(device) + model.eval() + for _ in range(max_new_tokens): + logits = model(tokens) + logits = logits[:, -1, :] + _, next_token = torch.topk(logits, k=1, dim=-1) + logging.info(f'next token: {next_token} {tokenizer.decode(next_token.tolist())}') + tokens = torch.cat((tokens, next_token), dim=1) + + for i, output in enumerate(tokens): + logging.info(f'{i} - {tokenizer.decode(output.tolist())}') + +def greedy_gen2(model, tokenizer, device, prompt, max_new_tokens=50): + tokens = torch.tensor(tokenizer.encode(prompt, True, False)).view(1, -1).to(device) + model.eval() + for _ in range(max_new_tokens): + logits = model(tokens) + logits = logits[:, -1, :] + _, next_token = torch.topk(logits, k=1, dim=-1) + logging.info(f'next token: {next_token} {tokenizer.decode(next_token.tolist())}') + yield tokenizer.decode(next_token.tolist())[0] + tokens = torch.cat((tokens, next_token), dim=1) + +def cleanup_cache(device='cpu'): + if device.startswith('mps'): + import torch.mps + torch.mps.empty_cache() + + +class Tokenizer: + def __init__(self, path): + self.model = sentencepiece.SentencePieceProcessor(path) + + def encode(self, text, bos=False, eos=False): + b = [self.model.bos_id()] if bos else [] + e = [self.model.eos_id()] if eos else [] + return b + self.model.encode(text) + e + + def decode(self, tokens): + return self.model.decode(tokens) From 864179fb5f69253a9dec8062160b106cc4396d68 Mon Sep 17 00:00:00 2001 From: jazelly Date: Sun, 12 May 2024 18:45:39 +0930 Subject: [PATCH 20/96] wip: client --- .gitignore | 1 + README.md | 3 +- client/package-lock.json | 6968 ++++++++++++++++++++++++++++++++++++++ client/package.json | 66 + client/src/App.tsx | 161 + 5 files changed, 7198 insertions(+), 1 deletion(-) create mode 100644 client/package-lock.json create mode 100644 client/package.json create mode 100644 client/src/App.tsx diff --git a/.gitignore b/.gitignore index 23f3a17..0060036 100644 --- a/.gitignore +++ b/.gitignore @@ -163,3 +163,4 @@ cython_debug/ checkpoint_dir/ results/ llama-2-7b*/ +node_modules/ \ No newline at end of file diff --git a/README.md b/README.md index 3db13c5..c1364e2 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,6 @@ There are still a lot to implement, so stay tuned. | llama 2 | ✅ | ❌ | ❌ | ❌ | ❌ | | llama 3 | ✅ | ❌ | ✅ | ❌ | ❌ | | llama-gguf | ✅ | ❌ | ❌ | ❌ | ❌ | -| llama-ggml | ❌ | ❌ | ❌ | ❌ | ❌ | | phi-3 | ✅ | ❌ | ❌ | ❌ | ❌ | | Mistral | ✅ | ✅ | ❌ | ❌ | ❌ | @@ -61,6 +60,8 @@ Please note, there might be other dependencies for different model training tech - [x] Support training at GGUF level - [x] Explore `ollama` and `llama.cpp` +- [ ] Expose scripts as API and GUI +- [ ] Containerize backend and frontend - [ ] Explore `mlx-examples` - [ ] Support other models than LLAMA - [ ] Explore `pykan` diff --git a/client/package-lock.json b/client/package-lock.json new file mode 100644 index 0000000..3185954 --- /dev/null +++ b/client/package-lock.json @@ -0,0 +1,6968 @@ +{ + "name": "finetune_llms_frontend", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "finetune_llms_frontend", + "license": "MIT", + "dependencies": { + "@metamask/jazzicon": "^2.0.0", + "@microsoft/fetch-event-source": "^2.0.1", + "@phosphor-icons/react": "^2.0.13", + "@tremor/react": "^3.15.1", + "dompurify": "^3.0.8", + "file-saver": "^2.0.5", + "he": "^1.2.0", + "highlight.js": "^11.9.0", + "lodash.debounce": "^4.0.8", + "markdown-it": "^13.0.1", + "pluralize": "^8.0.0", + "react": "^18.2.0", + "react-device-detect": "^2.2.2", + "react-dom": "^18.2.0", + "react-dropzone": "^14.2.3", + "react-loading-skeleton": "^3.1.0", + "react-router-dom": "^6.3.0", + "react-tag-input-component": "^2.0.2", + "react-toastify": "^9.1.3", + "react-tooltip": "^5.25.2", + "recharts": "^2.12.5", + "recharts-to-png": "^2.3.1", + "text-case": "^1.0.9", + "truncate": "^3.0.0", + "uuid": "^9.0.0" + }, + "devDependencies": { + "@esbuild-plugins/node-globals-polyfill": "^0.1.1", + "@types/react": "^18.2.23", + "@types/react-dom": "^18.2.8", + "@types/react-router-dom": "^5.3.3", + "@vitejs/plugin-react": "^4.0.0-beta.0", + "autoprefixer": "^10.4.14", + "buffer": "^6.0.3", + "eslint": "^8.50.0", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-ft-flow": "^3.0.0", + "eslint-plugin-prettier": "^5.0.0", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.3", + "flow-bin": "^0.217.0", + "flow-remove-types": "^2.217.1", + "globals": "^13.21.0", + "hermes-eslint": "^0.15.0", + "postcss": "^8.4.23", + "prettier": "^3.0.3", + "rollup-plugin-visualizer": "^5.9.0", + "tailwindcss": "^3.3.1", + "typescript": "^5.4.5", + "vite": "^4.3.0" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", + "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz", + "integrity": "sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.24.5", + "@babel/helpers": "^7.24.5", + "@babel/parser": "^7.24.5", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.5", + "@babel/types": "^7.24.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz", + "integrity": "sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.5", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz", + "integrity": "sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.24.3", + "@babel/helper-simple-access": "^7.24.5", + "@babel/helper-split-export-declaration": "^7.24.5", + "@babel/helper-validator-identifier": "^7.24.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz", + "integrity": "sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz", + "integrity": "sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz", + "integrity": "sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz", + "integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.5.tgz", + "integrity": "sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.5", + "@babel/types": "^7.24.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz", + "integrity": "sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.5", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz", + "integrity": "sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.5.tgz", + "integrity": "sha512-RtCJoUO2oYrYwFPtR1/jkoBEcFuI1ae9a9IMxeyAVa3a1Ap4AnxmyIKG2b2FaJKqkidw/0cxRbWN+HOs6ZWd1w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.1.tgz", + "integrity": "sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz", + "integrity": "sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.5.tgz", + "integrity": "sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.24.5", + "@babel/parser": "^7.24.5", + "@babel/types": "^7.24.5", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz", + "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.1", + "@babel/helper-validator-identifier": "^7.24.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild-plugins/node-globals-polyfill": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.1.1.tgz", + "integrity": "sha512-MR0oAA+mlnJWrt1RQVQ+4VYuRJW/P2YmRTv1AsplObyvuBMnPHiizUF95HHYiSsMGLhyGtWufaq2XQg6+iurBg==", + "dev": true, + "peerDependencies": { + "esbuild": "*" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.1.tgz", + "integrity": "sha512-O7yppwipkXvnEPjzkSXJRk2g4bS8sUx9p9oXHq9MU/U7lxUzZVsnFZMDTmeeX9bfQxrFcvOacl/ENgOh0WP9pA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.1.tgz", + "integrity": "sha512-hh3jKWikdnTtHCglDAeVO3Oyh8MaH8xZUaWMiCCvJ9/c3NtPqZq+CACOlGTxhddypXhl+8B45SeceYBfB/e8Ow==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.1.tgz", + "integrity": "sha512-jXhccq6es+onw7x8MxoFnm820mz7sGa9J14kLADclmiEUH4fyj+FjR6t0M93RgtlI/awHWhtF0Wgfhqgf9gDZA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.1.tgz", + "integrity": "sha512-NPObtlBh4jQHE01gJeucqEhdoD/4ya2owSIS8lZYS58aR0x7oZo9lB2lVFxgTANSa5MGCBeoQtr+yA9oKCGPvA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.1.tgz", + "integrity": "sha512-BLT7TDzqsVlQRmJfO/FirzKlzmDpBWwmCUlyggfzUwg1cAxVxeA4O6b1XkMInlxISdfPAOunV9zXjvh5x99Heg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.1.tgz", + "integrity": "sha512-D3h3wBQmeS/vp93O4B+SWsXB8HvRDwMyhTNhBd8yMbh5wN/2pPWRW5o/hM3EKgk9bdKd9594lMGoTCTiglQGRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.1.tgz", + "integrity": "sha512-/uVdqqpNKXIxT6TyS/oSK4XE4xWOqp6fh4B5tgAwozkyWdylcX+W4YF2v6SKsL4wCQ5h1bnaSNjWPXG/2hp8AQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.1.tgz", + "integrity": "sha512-paAkKN1n1jJitw+dAoR27TdCzxRl1FOEITx3h201R6NoXUojpMzgMLdkXVgCvaCSCqwYkeGLoe9UVNRDKSvQgw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.1.tgz", + "integrity": "sha512-tRHnxWJnvNnDpNVnsyDhr1DIQZUfCXlHSCDohbXFqmg9W4kKR7g8LmA3kzcwbuxbRMKeit8ladnCabU5f2traA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.1.tgz", + "integrity": "sha512-G65d08YoH00TL7Xg4LaL3gLV21bpoAhQ+r31NUu013YB7KK0fyXIt05VbsJtpqh/6wWxoLJZOvQHYnodRrnbUQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.1.tgz", + "integrity": "sha512-tt/54LqNNAqCz++QhxoqB9+XqdsaZOtFD/srEhHYwBd3ZUOepmR1Eeot8bS+Q7BiEvy9vvKbtpHf+r6q8hF5UA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.1.tgz", + "integrity": "sha512-MhNalK6r0nZD0q8VzUBPwheHzXPr9wronqmZrewLfP7ui9Fv1tdPmg6e7A8lmg0ziQCziSDHxh3cyRt4YMhGnQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.1.tgz", + "integrity": "sha512-YCKVY7Zen5rwZV+nZczOhFmHaeIxR4Zn3jcmNH53LbgF6IKRwmrMywqDrg4SiSNApEefkAbPSIzN39FC8VsxPg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.1.tgz", + "integrity": "sha512-bw7bcQ+270IOzDV4mcsKAnDtAFqKO0jVv3IgRSd8iM0ac3L8amvCrujRVt1ajBTJcpDaFhIX+lCNRKteoDSLig==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.1.tgz", + "integrity": "sha512-ARmDRNkcOGOm1AqUBSwRVDfDeD9hGYRfkudP2QdoonBz1ucWVnfBPfy7H4JPI14eYtZruRSczJxyu7SRYDVOcg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.1.tgz", + "integrity": "sha512-o73TcUNMuoTZlhwFdsgr8SfQtmMV58sbgq6gQq9G1xUiYnHMTmJbwq65RzMx89l0iya69lR4bxBgtWiiOyDQZA==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.1.tgz", + "integrity": "sha512-da4/1mBJwwgJkbj4fMH7SOXq2zapgTo0LKXX1VUZ0Dxr+e8N0WbS80nSZ5+zf3lvpf8qxrkZdqkOqFfm57gXwA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.1.tgz", + "integrity": "sha512-CPWs0HTFe5woTJN5eKPvgraUoRHrCtzlYIAv9wBC+FAyagBSaf+UdZrjwYyTGnwPGkThV4OCI7XibZOnPvONVw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.1.tgz", + "integrity": "sha512-xxhTm5QtzNLc24R0hEkcH+zCx/o49AsdFZ0Cy5zSd/5tOj4X2g3/2AJB625NoadUuc4A8B3TenLJoYdWYOYCew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.1.tgz", + "integrity": "sha512-CWibXszpWys1pYmbr9UiKAkX6x+Sxw8HWtw1dRESK1dLW5fFJ6rMDVw0o8MbadusvVQx1a8xuOxnHXT941Hp1A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.1.tgz", + "integrity": "sha512-jb5B4k+xkytGbGUS4T+Z89cQJ9DJ4lozGRSV+hhfmCPpfJ3880O31Q1srPCimm+V6UCbnigqD10EgDNgjvjerQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.1.tgz", + "integrity": "sha512-PgyFvjJhXqHn1uxPhyN1wZ6dIomKjiLUQh1LjFvjiV1JmnkZ/oMPrfeEAZg5R/1ftz4LZWZr02kefNIQ5SKREQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.1.tgz", + "integrity": "sha512-W9NttRZQR5ehAiqHGDnvfDaGmQOm6Fi4vSlce8mjM75x//XKuVAByohlEX6N17yZnVXxQFuh4fDRunP8ca6bfA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.1.tgz", + "integrity": "sha512-42UH54oPZHPdRHdw6BgoBD6cg/eVTmVrFcgeRDM3jbO7uxSoipVcmcIGFcA5jmOHO5apcyvBhkSKES3fQJnu7A==", + "dependencies": { + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.5.tgz", + "integrity": "sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==", + "dependencies": { + "@floating-ui/core": "^1.0.0", + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/react": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.19.2.tgz", + "integrity": "sha512-JyNk4A0Ezirq8FlXECvRtQOX/iBe5Ize0W/pLkrZjfHW9GUV7Xnq6zm6fyZuQzaHHqEnVizmvlA96e1/CkZv+w==", + "dependencies": { + "@floating-ui/react-dom": "^1.3.0", + "aria-hidden": "^1.1.3", + "tabbable": "^6.0.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-1.3.0.tgz", + "integrity": "sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==", + "dependencies": { + "@floating-ui/dom": "^1.2.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.2.tgz", + "integrity": "sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==" + }, + "node_modules/@headlessui/react": { + "version": "1.7.19", + "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.19.tgz", + "integrity": "sha512-Ll+8q3OlMJfJbAKM/+/Y2q6PPYbryqNTXDbryx7SXLIDamkF6iQFbriYHga0dY44PvDhvvBWCx1Xj4U5+G4hOw==", + "dependencies": { + "@tanstack/react-virtual": "^3.0.0-beta.60", + "client-only": "^0.0.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^16 || ^17 || ^18", + "react-dom": "^16 || ^17 || ^18" + } + }, + "node_modules/@headlessui/tailwindcss": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@headlessui/tailwindcss/-/tailwindcss-0.2.0.tgz", + "integrity": "sha512-fpL830Fln1SykOCboExsWr3JIVeQKieLJ3XytLe/tt1A0XzqUthOftDmjcCYLW62w7mQI7wXcoPXr3tZ9QfGxw==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "tailwindcss": "^3.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "dev": true + }, + "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==", + "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/@isaacs/cliui/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==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/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==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/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==" + }, + "node_modules/@isaacs/cliui/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==", + "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/@isaacs/cliui/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==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/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==", + "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/@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==", + "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==", + "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==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "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==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@metamask/jazzicon": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@metamask/jazzicon/-/jazzicon-2.0.0.tgz", + "integrity": "sha512-7M+WSZWKcQAo0LEhErKf1z+D3YX0tEDAcGvcKbDyvDg34uvgeKR00mFNIYwAhdAS9t8YXxhxZgsrRBBg6X8UQg==", + "dependencies": { + "color": "^0.11.3", + "mersenne-twister": "^1.1.0" + } + }, + "node_modules/@microsoft/fetch-event-source": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@microsoft/fetch-event-source/-/fetch-event-source-2.0.1.tgz", + "integrity": "sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==" + }, + "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==", + "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==", + "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==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@phosphor-icons/react": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@phosphor-icons/react/-/react-2.1.5.tgz", + "integrity": "sha512-B7vRm/w+P/+eavWZP5CB5Ul0ffK4Y7fpd/auWKuGvm+8pVgAJzbOK8O0s+DqzR+TwWkh5pHtJTuoAtaSvgCPzg==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">= 16.8", + "react-dom": ">= 16.8" + } + }, + "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==", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@remix-run/router": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.16.1.tgz", + "integrity": "sha512-es2g3dq6Nb07iFxGk5GuHN20RwBZOsuDQN7izWIisUcv9r+d2C5jQxqmgkdebXgReWfiyUabcki6Fg77mSNrig==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tanstack/react-virtual": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.5.0.tgz", + "integrity": "sha512-rtvo7KwuIvqK9zb0VZ5IL7fiJAEnG+0EiFZz8FUOs+2mhGqdGmjKIaT1XU7Zq0eFqL0jonLlhbayJI/J2SA/Bw==", + "dependencies": { + "@tanstack/virtual-core": "3.5.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@tanstack/virtual-core": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.5.0.tgz", + "integrity": "sha512-KnPRCkQTyqhanNC0K63GBG3wA8I+D1fQuVnAvcBF8f13akOKeQp1gSbu6f77zCxhEk727iV5oQnbHLYzHrECLg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tremor/react": { + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/@tremor/react/-/react-3.16.2.tgz", + "integrity": "sha512-Isdc+Sf4WHlnrAAO8Hk/nK84HiXzCZvb6ZFRHrzOkF+APm6nDhvKPRorXcXZ2BKSS5T5L0QVsid5fIxly8kRdA==", + "dependencies": { + "@floating-ui/react": "^0.19.2", + "@headlessui/react": "^1.7.19", + "@headlessui/tailwindcss": "^0.2.0", + "date-fns": "^2.30.0", + "react-day-picker": "^8.9.1", + "react-transition-state": "^2.1.1", + "recharts": "^2.12.6", + "tailwind-merge": "^1.14.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz", + "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz", + "integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-shape": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.6.tgz", + "integrity": "sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz", + "integrity": "sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==" + }, + "node_modules/@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.3.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.2.tgz", + "integrity": "sha512-Btgg89dAnqD4vV7R3hlwOxgqobUQKgx3MmrQRi0yYbs/P0ym8XozIAlkqVilPqHQwXs4e9Tf63rrCgl58BcO4w==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", + "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-router": { + "version": "5.1.20", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", + "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "dev": true, + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*" + } + }, + "node_modules/@types/react-router-dom": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", + "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "dev": true, + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz", + "integrity": "sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.5", + "@babel/plugin-transform-react-jsx-self": "^7.23.3", + "@babel/plugin-transform-react-jsx-source": "^7.23.3", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "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==" + }, + "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==", + "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==" + }, + "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==" + }, + "node_modules/aria-hidden": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", + "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.toreversed": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", + "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", + "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.1.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/attr-accept": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz", + "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==" + }, + "node_modules/base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "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" + } + ] + }, + "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==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "dev": true, + "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" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "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" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "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==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001617", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001617.tgz", + "integrity": "sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA==", + "dev": true, + "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" + } + ] + }, + "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==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "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" + }, + "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==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/color": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", + "integrity": "sha512-Ajpjd8asqZ6EdxQeqGzU5WBhhTfJ/0cA4Wlbre7e5vXfmDSmda7Ov6jeKoru+b0vHcb1CqvuroTHp5zIWzhVMA==", + "dependencies": { + "clone": "^1.0.2", + "color-convert": "^1.3.0", + "color-string": "^0.3.0" + } + }, + "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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "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==" + }, + "node_modules/color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha512-sz29j1bmSDfoAxKIEU6zwoIZXN6BrFbAMIhfYCNyiZXBDuU/aiHlN84lp/xDzL2ubyFhLDobHIlU1X70XRrMDA==", + "dependencies": { + "color-name": "^1.0.0" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": 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==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-line-break": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", + "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", + "dependencies": { + "utrie": "^1.0.2" + } + }, + "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==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js-light": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", + "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==" + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/dompurify": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.3.tgz", + "integrity": "sha512-5sOWYSNPaxz6o2MUPvtyxTTqR4D3L77pr5rUQoWgD5ROQtVIZQgJkXbo1DLlK3vj11YGw5+LnF4SYti4gZmwng==" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.763", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.763.tgz", + "integrity": "sha512-k4J8NrtJ9QrvHLRo8Q18OncqBCB7tIUyqxRcJnlonQ0ioHKYB988GcDFF3ZePmnb8eHEopDs/wPHR/iGAFgoUQ==", + "dev": true + }, + "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==" + }, + "node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-abstract": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", + "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.1.tgz", + "integrity": "sha512-GPqx+FX7mdqulCeQ4TsGZQ3djBJkx5k7zBGtqt9ycVlWNg8llJ4RO9n2vciu8BN2zAEs6lPbPl0asZsAh7oWzg==", + "dev": true, + "hasInstallScript": true, + "peer": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.1", + "@esbuild/android-arm": "0.21.1", + "@esbuild/android-arm64": "0.21.1", + "@esbuild/android-x64": "0.21.1", + "@esbuild/darwin-arm64": "0.21.1", + "@esbuild/darwin-x64": "0.21.1", + "@esbuild/freebsd-arm64": "0.21.1", + "@esbuild/freebsd-x64": "0.21.1", + "@esbuild/linux-arm": "0.21.1", + "@esbuild/linux-arm64": "0.21.1", + "@esbuild/linux-ia32": "0.21.1", + "@esbuild/linux-loong64": "0.21.1", + "@esbuild/linux-mips64el": "0.21.1", + "@esbuild/linux-ppc64": "0.21.1", + "@esbuild/linux-riscv64": "0.21.1", + "@esbuild/linux-s390x": "0.21.1", + "@esbuild/linux-x64": "0.21.1", + "@esbuild/netbsd-x64": "0.21.1", + "@esbuild/openbsd-x64": "0.21.1", + "@esbuild/sunos-x64": "0.21.1", + "@esbuild/win32-arm64": "0.21.1", + "@esbuild/win32-ia32": "0.21.1", + "@esbuild/win32-x64": "0.21.1" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-ft-flow": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/eslint-plugin-ft-flow/-/eslint-plugin-ft-flow-3.0.9.tgz", + "integrity": "sha512-m3ZL33yntMILOA5jRxVtUROJxmvGQcIgUJnWqjC7QsQbU+KtntRLaBKaDb7NeUmRioDq+QgI1fdaAEFpOKitgA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "eslint": "^8.56.0", + "hermes-eslint": ">=0.15.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", + "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.6" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.34.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", + "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlast": "^1.2.4", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.3", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.17", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7", + "object.hasown": "^1.1.3", + "object.values": "^1.1.7", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.10" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.7.tgz", + "integrity": "sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw==", + "dev": true, + "peerDependencies": { + "eslint": ">=7" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/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==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/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==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "node_modules/fast-equals": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.0.1.tgz", + "integrity": "sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==", + "engines": { + "node": ">=6.0.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==", + "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==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, + "node_modules/file-selector": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz", + "integrity": "sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">= 12" + } + }, + "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==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/flow-bin": { + "version": "0.217.2", + "resolved": "https://registry.npmjs.org/flow-bin/-/flow-bin-0.217.2.tgz", + "integrity": "sha512-fk4NcfybYjzlww1sEsfk71nqXvonAYpMRFEjmZxibDWWBiaw8DGmqXWZ7XzSunVB15VkJfOstn/sYP1EYPPyWg==", + "dev": true, + "bin": { + "flow": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/flow-remove-types": { + "version": "2.236.0", + "resolved": "https://registry.npmjs.org/flow-remove-types/-/flow-remove-types-2.236.0.tgz", + "integrity": "sha512-EVg9IM7QKZsFJq8VSYFYslPR/hrtnD0pw0z/dndAuTDkhfCOQSjiJNjZhd3mTizZ4UFrysTNNcv/QDF3a/ZnTw==", + "dev": true, + "dependencies": { + "hermes-parser": "0.21.0", + "pirates": "^3.0.2", + "vlq": "^0.2.1" + }, + "bin": { + "flow-node": "flow-node", + "flow-remove-types": "flow-remove-types" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "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==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "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==", + "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==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "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" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hermes-eslint": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/hermes-eslint/-/hermes-eslint-0.15.1.tgz", + "integrity": "sha512-ArfT3oASsYOkCa29GOw34GR+kpHXqrhhYgXDadK3daJBejrMPbGlUbBTzTlGBuz1CGLxxdC5lwwv3OegPJzfDA==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "hermes-estree": "0.15.1", + "hermes-parser": "0.15.1" + } + }, + "node_modules/hermes-eslint/node_modules/hermes-parser": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.15.1.tgz", + "integrity": "sha512-38Re105dr4UZ0/EPRApWxtIOWWynQpdOYWO+7nFO8ADd2mXdaHKMCFAxIjkqACa1GLrAtrXqqaJdUYHi/QUbkA==", + "dev": true, + "dependencies": { + "hermes-estree": "0.15.1" + } + }, + "node_modules/hermes-estree": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.15.1.tgz", + "integrity": "sha512-XrQH+GATG/8DYbzlrVs6Vf/EDxLhYEHXvzt/Xve4b/NXXpsNLDN8bdBEKp5z0XeOMoL1XMEexxIIf1a5bH6kYA==", + "dev": true + }, + "node_modules/hermes-parser": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.21.0.tgz", + "integrity": "sha512-YKRYs6ufKDQ1VWMbnLBrsGxA7xRDhgrlrMoMD1jWNoV0NiIWVRM5OuRfGXsGj2tQhOngH/6VKVjeMkuwKyqF+w==", + "dev": true, + "dependencies": { + "hermes-estree": "0.21.0" + } + }, + "node_modules/hermes-parser/node_modules/hermes-estree": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.21.0.tgz", + "integrity": "sha512-nFKvwIBMg+u/Ofbc/jNuFUVu8vKb2gxkl0+wCgKootBLGbDWeZzznDnbaDpYvJKTRw2NlZk7oan3yucTGfo1aA==", + "dev": true + }, + "node_modules/highlight.js": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz", + "integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/html2canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", + "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "dependencies": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "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" + } + ] + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "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==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "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==" + }, + "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==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "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==" + }, + "node_modules/linkify-it": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz", + "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/markdown-it": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.2.tgz", + "integrity": "sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==", + "dependencies": { + "argparse": "^2.0.1", + "entities": "~3.0.1", + "linkify-it": "^4.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/mersenne-twister": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mersenne-twister/-/mersenne-twister-1.1.0.tgz", + "integrity": "sha512-mUYWsMKNrm4lfygPkL3OfGzOPTR2DBlTkBNHM//F6hGp8cLThY897crAlk3/Jo17LEOOjQUrNAx6DvgO77QJkA==" + }, + "node_modules/micromatch": { + "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" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minipass": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.1.tgz", + "integrity": "sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mz": { + "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" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha512-JMaRS9L4wSRIR+6PTVEikTrq/lMGEZR43a48ETeilY0Q0iMwVnccMFrUM1k+tNzmYuIU0Vh710bCUqHX+/+ctQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", + "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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==" + }, + "node_modules/path-scurry": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.0.tgz", + "integrity": "sha512-LNHTaVkzaYaLGlO+0u3rQTz7QrHTFOuKyba9JMTQutkmtNew8dw8wOD7mTU/5fCPZzCWpfW0XnQKzY61P0aTaw==", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-3.0.2.tgz", + "integrity": "sha512-c5CgUJq6H2k6MJz72Ak1F5sN9n9wlSlJyEnwvpm9/y3WB4E3pHBDT2c6PEiS1vyJvq2bUxUAIu0EGf8Cx4Ic7Q==", + "dev": true, + "dependencies": { + "node-modules-regexp": "^1.0.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "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" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "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==", + "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-import/node_modules/resolve": { + "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" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "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==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "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.1", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", + "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "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==" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-day-picker": { + "version": "8.10.1", + "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-8.10.1.tgz", + "integrity": "sha512-TMx7fNbhLk15eqcMt+7Z7S2KF7mfTId/XJDjKE8f+IUcFn0l08/kI4FiYTL/0yuOLmEcbR4Fwe3GJf/NiiMnPA==", + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/gpbl" + }, + "peerDependencies": { + "date-fns": "^2.28.0 || ^3.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-device-detect": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-device-detect/-/react-device-detect-2.2.3.tgz", + "integrity": "sha512-buYY3qrCnQVlIFHrC5UcUoAj7iANs/+srdkwsnNjI7anr3Tt7UY6MqNxtMLlr0tMBied0O49UZVK8XKs3ZIiPw==", + "dependencies": { + "ua-parser-js": "^1.0.33" + }, + "peerDependencies": { + "react": ">= 0.14.0", + "react-dom": ">= 0.14.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-dropzone": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz", + "integrity": "sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==", + "dependencies": { + "attr-accept": "^2.2.2", + "file-selector": "^0.6.0", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "react": ">= 16.8 || 18.0.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-loading-skeleton": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/react-loading-skeleton/-/react-loading-skeleton-3.4.0.tgz", + "integrity": "sha512-1oJEBc9+wn7BbkQQk7YodlYEIjgeR+GrRjD+QXkVjwZN7LGIcAFHrx4NhT7UHGBxNY1+zax3c+Fo6XQM4R7CgA==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "6.23.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.23.1.tgz", + "integrity": "sha512-fzcOaRF69uvqbbM7OhvQyBTFDVrrGlsFdS3AL+1KfIBtGETibHzi3FkoTRyiDJnWNc2VxrfvR+657ROHjaNjqQ==", + "dependencies": { + "@remix-run/router": "1.16.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.23.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.23.1.tgz", + "integrity": "sha512-utP+K+aSTtEdbWpC+4gxhdlPFwuEfDKq8ZrPFU65bbRJY+l706qjR7yaidBpo3MSeA/fzwbXWbKBI6ftOnP3OQ==", + "dependencies": { + "@remix-run/router": "1.16.1", + "react-router": "6.23.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-smooth": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-4.0.1.tgz", + "integrity": "sha512-OE4hm7XqR0jNOq3Qmk9mFLyd6p2+j6bvbPJ7qlB7+oo0eNcL2l7WQzG6MBnT3EXY6xzkLMUBec3AfewJdA0J8w==", + "dependencies": { + "fast-equals": "^5.0.1", + "prop-types": "^15.8.1", + "react-transition-group": "^4.4.5" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-tag-input-component": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/react-tag-input-component/-/react-tag-input-component-2.0.2.tgz", + "integrity": "sha512-dydI9luVwwv9vrjE5u1TTnkcOVkOVL6mhFti8r6hLi78V2F2EKWQOLptURz79UYbDHLSk6tnbvGl8FE+sMpADg==", + "peerDependencies": { + "react": "^16 || ^17 || ^18", + "react-dom": "^16 || ^17 || ^18" + } + }, + "node_modules/react-toastify": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-9.1.3.tgz", + "integrity": "sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg==", + "dependencies": { + "clsx": "^1.1.1" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, + "node_modules/react-tooltip": { + "version": "5.26.4", + "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-5.26.4.tgz", + "integrity": "sha512-5WyDrsfw1+6qNVSr3IjqElqJ+cCwE8+44b+HpJ8qRLv7v0a3mcKf8wvv+NfgALFS6QpksGFqTLV2JQ60c+okZQ==", + "dependencies": { + "@floating-ui/dom": "^1.6.1", + "classnames": "^2.3.0" + }, + "peerDependencies": { + "react": ">=16.14.0", + "react-dom": ">=16.14.0" + } + }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/react-transition-state": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/react-transition-state/-/react-transition-state-2.1.1.tgz", + "integrity": "sha512-kQx5g1FVu9knoz1T1WkapjUgFz08qQ/g1OmuWGi3/AoEFfS0kStxrPlZx81urjCXdz2d+1DqLpU6TyLW/Ro04Q==", + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.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==", + "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==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recharts": { + "version": "2.12.7", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.12.7.tgz", + "integrity": "sha512-hlLJMhPQfv4/3NBSAyq3gzGg4h2v69RJh6KU7b3pXYNNAELs9kEoXOjbkxdXpALqKBoVmVptGfLpxdaVYqjmXQ==", + "dependencies": { + "clsx": "^2.0.0", + "eventemitter3": "^4.0.1", + "lodash": "^4.17.21", + "react-is": "^16.10.2", + "react-smooth": "^4.0.0", + "recharts-scale": "^0.4.4", + "tiny-invariant": "^1.3.1", + "victory-vendor": "^36.6.8" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^16.0.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/recharts-scale": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.5.tgz", + "integrity": "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==", + "dependencies": { + "decimal.js-light": "^2.4.1" + } + }, + "node_modules/recharts-to-png": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/recharts-to-png/-/recharts-to-png-2.3.2.tgz", + "integrity": "sha512-3A9V5zt+kus/LDuoum5c27Cr7xXGlWZkoh+QaYRmAiyZk3YAsIrf5lKRQjJ6CNk09HT9I6nHjcYFIPKqEt9VDA==", + "dependencies": { + "html2canvas": "^1.2.0" + }, + "peerDependencies": { + "react": ">=16.8.3", + "react-dom": ">=16.8.3", + "recharts": ">=2.9.0" + }, + "peerDependenciesMeta": { + "recharts": { + "optional": true + } + } + }, + "node_modules/recharts/node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "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==", + "dev": true, + "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==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-visualizer": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz", + "integrity": "sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==", + "dev": true, + "dependencies": { + "open": "^8.4.0", + "picomatch": "^2.3.1", + "source-map": "^0.7.4", + "yargs": "^17.5.1" + }, + "bin": { + "rollup-plugin-visualizer": "dist/bin/cli.js" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "rollup": "2.x || 3.x || 4.x" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "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==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", + "dev": true + }, + "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==", + "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": { + "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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "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/brace-expansion": { + "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" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.3.14", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.14.tgz", + "integrity": "sha512-4fkAqu93xe9Mk7le9v0y3VrPDqLKHarNi2s4Pv7f2yOvfhWfhc7hRPHC/JyqMqb8B/Dt/eGS4n7ykwf3fOsl8g==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.6", + "minimatch": "^9.0.1", + "minipass": "^7.0.4", + "path-scurry": "^1.11.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/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==", + "engines": { + "node": ">= 6" + } + }, + "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==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/synckit": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", + "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", + "dev": true, + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/tabbable": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" + }, + "node_modules/tailwind-merge": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-1.14.0.tgz", + "integrity": "sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", + "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", + "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/tailwindcss/node_modules/resolve": { + "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" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/text-camel-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-camel-case/-/text-camel-case-1.0.2.tgz", + "integrity": "sha512-s1LRJevKMtwo2iV80ZXuGHVJsK8wCojivh0TyiX6DnvMoxBubCuBXx+YE47E4J0JMvLfqrpV+8SP/tEAoZ0/ZA==", + "dependencies": { + "text-pascal-case": "^1.0.3" + } + }, + "node_modules/text-capital-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-capital-case/-/text-capital-case-1.0.2.tgz", + "integrity": "sha512-2WhSzwB8TjsaXix85xv2tdViUwBui8LMrIyi+pZrJTXAHKv1Cn9wN/b+uOZnwG4Yn32yiTBt/bZGdKNsHgm+bQ==", + "dependencies": { + "text-no-case": "^1.0.2", + "text-upper-case-first": "^1.0.2" + } + }, + "node_modules/text-case": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/text-case/-/text-case-1.0.9.tgz", + "integrity": "sha512-WFYXrWPsMac/GfnQ9P9X6XhESQiyKKfNlhlxzXe2mSGKxwFe5ThqXA89JVZ1ZzcBWmJ6TFDa8iM6Vw54OqjiWQ==", + "dependencies": { + "text-camel-case": "^1.0.2", + "text-capital-case": "^1.0.2", + "text-constant-case": "^1.0.2", + "text-dot-case": "^1.0.2", + "text-header-case": "^1.0.2", + "text-is-lower-case": "^1.0.2", + "text-is-upper-case": "^1.0.2", + "text-lower-case": "^1.0.4", + "text-lower-case-first": "^1.0.2", + "text-no-case": "^1.0.2", + "text-param-case": "^1.0.2", + "text-pascal-case": "^1.0.3", + "text-path-case": "^1.0.2", + "text-sentence-case": "^1.0.2", + "text-snake-case": "^1.0.2", + "text-swap-case": "^1.0.2", + "text-title-case": "^1.0.2", + "text-upper-case": "^1.0.2", + "text-upper-case-first": "^1.0.2" + } + }, + "node_modules/text-constant-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-constant-case/-/text-constant-case-1.0.2.tgz", + "integrity": "sha512-vfUdPIEADAqllvhZe2tb/lxO9mG1fEjAcGj7iipcQNg9rqc5G38HN+FHyKzmm3dId+fO+H+8CaVvFwzxq3UAQg==", + "dependencies": { + "text-no-case": "^1.0.2", + "text-upper-case": "^1.0.2" + } + }, + "node_modules/text-dot-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-dot-case/-/text-dot-case-1.0.2.tgz", + "integrity": "sha512-J361Ss+ib3AmN+Q664q+H791OIJnnUvVXVNpZypWjp58b0z2moz31PCz4RLxSftyMDb+3jYRU06skDEQBIWyiQ==", + "dependencies": { + "text-no-case": "^1.0.2" + } + }, + "node_modules/text-header-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-header-case/-/text-header-case-1.0.2.tgz", + "integrity": "sha512-gl3AOpc19D9nFtgQoMpVXToF19/ssuYk80Hj3n7WAZInx9xr/C8DkfjUzj/u7xTSVXyN6CNiodhrb8z2mZCKfw==", + "dependencies": { + "text-capital-case": "^1.0.2" + } + }, + "node_modules/text-is-lower-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-is-lower-case/-/text-is-lower-case-1.0.2.tgz", + "integrity": "sha512-vVJ2egidKYFGzZBoh+LIpIptdVn8gxk0iv9ZH9ufoBdlirIE/OtJSYLheubX0Q4hSyWd71sEXib40Vxq+WIn+A==" + }, + "node_modules/text-is-upper-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-is-upper-case/-/text-is-upper-case-1.0.2.tgz", + "integrity": "sha512-mv0GH/4c0CpA8/wXyP2DWV98btTSkh0Hh96xtM/rK1D9FLcb4yy0OnZFfatTXuEMUJlxyXdM/Tt89PjWHLDafg==" + }, + "node_modules/text-lower-case": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/text-lower-case/-/text-lower-case-1.0.4.tgz", + "integrity": "sha512-+JugqznmIplbHfUt7YaaQyXbNlG9smzQkFm2W/LWXhM6RtiwAeaXKHNfabd4OQ3hLA17n+Kv7vpjWlyw95Lmow==" + }, + "node_modules/text-lower-case-first": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-lower-case-first/-/text-lower-case-first-1.0.2.tgz", + "integrity": "sha512-BoCe3/y6ALSPyt4gh38HDY61twGr28IhjtHjxtaP6IfNb2U0vLnx2EB9pgGdvWC8N/gx3RX82hzPescxPPhR6A==" + }, + "node_modules/text-no-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-no-case/-/text-no-case-1.0.2.tgz", + "integrity": "sha512-D7x7uUw99DP5P28e6uugAC6JXTQDM/wWoVC0I4XSh7IdsFRYMpOHo97ARIepWY+icrBq/ewjRkcTSfbGDV6XgA==", + "dependencies": { + "text-lower-case": "^1.0.4" + } + }, + "node_modules/text-param-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-param-case/-/text-param-case-1.0.2.tgz", + "integrity": "sha512-expscKlHQDu/NGtIuklO278FPcnP3MPzDoTYlGl0S8kA/Zm/wOIAvy/ULpetdvCuZbLDIVQOtX9eWAyMSoWbkw==", + "dependencies": { + "text-dot-case": "^1.0.2" + } + }, + "node_modules/text-pascal-case": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/text-pascal-case/-/text-pascal-case-1.0.3.tgz", + "integrity": "sha512-aiIz2RMA8D/j7TsfwpZVBDXUgXAcl2m1vGKfhpDQTQ7UnbVfI7B6BUQwi6FdDKSO/Z2rVv+JxcaFN4al+TnEsQ==", + "dependencies": { + "text-no-case": "^1.0.2" + } + }, + "node_modules/text-path-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-path-case/-/text-path-case-1.0.2.tgz", + "integrity": "sha512-dCFWFqJSAYE8JGIWfA8TyeBUoxnSw/fUtRFgQH7PNJ+9YqLcuq3VrDB5i9iOPmoKphY1HnRGp4cbTDF6yGjlcQ==", + "dependencies": { + "text-dot-case": "^1.0.2" + } + }, + "node_modules/text-segmentation": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", + "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", + "dependencies": { + "utrie": "^1.0.2" + } + }, + "node_modules/text-sentence-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-sentence-case/-/text-sentence-case-1.0.2.tgz", + "integrity": "sha512-GmZbfwaF3u/OEZACC5gMP9XvgwWa9yzGQ99JL74yAuUWWtHaIs40IMGm6lC8ZNgEdG4sSV0JYPf7rFTK2VZOZg==", + "dependencies": { + "text-no-case": "^1.0.2", + "text-upper-case-first": "^1.0.2" + } + }, + "node_modules/text-snake-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-snake-case/-/text-snake-case-1.0.2.tgz", + "integrity": "sha512-Uv58tiL7yHoBk/9uqDJsp4+hYwXlH7lvyVVsR/09DJ1nlhG1qVAZD5hPY5L6LaAItVmaeJ460iO9Fc09fQ/zLg==", + "dependencies": { + "text-dot-case": "^1.0.2" + } + }, + "node_modules/text-swap-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-swap-case/-/text-swap-case-1.0.2.tgz", + "integrity": "sha512-kJ40VU8PatEAF7b3fxs8a0vK4ByGl1W6sKcu+lARZBoUmChCtNXLRJY8vl3kls+EkWT37iAXSQNVeWoWwbkQ2g==" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/text-title-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-title-case/-/text-title-case-1.0.2.tgz", + "integrity": "sha512-GyS5mayONs9ZZHMYDjZm6kxfoLOq7KiacC+DasUXrHzlzzQViUaNH0yvBdLtc2Kjs4CVGDDjipLVCJGLJ7bOfA==" + }, + "node_modules/text-upper-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-upper-case/-/text-upper-case-1.0.2.tgz", + "integrity": "sha512-1YT5Y+gCOskZOGPVQW2xAGsSDlItHJoFVCVviObJAPv7Qdedf8sCHCKrz0hG15uzF8IQsiJz5PJZUMNwpuNmmA==" + }, + "node_modules/text-upper-case-first": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-upper-case-first/-/text-upper-case-first-1.0.2.tgz", + "integrity": "sha512-/8IAqNltnOZixqKMFn34NQoHcq5Mek/zqXzMQyLeY/5oQK+3ibYseRDHNnrdqx2r8Uiyf/KyVe8PHQFL+yAtlg==" + }, + "node_modules/thenify": { + "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" + } + }, + "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==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/truncate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/truncate/-/truncate-3.0.0.tgz", + "integrity": "sha512-C+0Xojw7wZPl6MDq5UjMTuxZvBPK04mtdFet7k+GSZPINcvLZFCXg+15kWIL4wAqDB7CksIsKiRLbQ1wa7rKdw==", + "engines": { + "node": "*" + } + }, + "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==" + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ua-parser-js": { + "version": "1.0.37", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz", + "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz", + "integrity": "sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==", + "dev": true, + "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" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.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==" + }, + "node_modules/utrie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", + "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", + "dependencies": { + "base64-arraybuffer": "^1.0.2" + } + }, + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/victory-vendor": { + "version": "36.9.2", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.9.2.tgz", + "integrity": "sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==", + "dependencies": { + "@types/d3-array": "^3.0.3", + "@types/d3-ease": "^3.0.0", + "@types/d3-interpolate": "^3.0.1", + "@types/d3-scale": "^4.0.2", + "@types/d3-shape": "^3.1.0", + "@types/d3-time": "^3.0.0", + "@types/d3-timer": "^3.0.0", + "d3-array": "^3.1.6", + "d3-ease": "^3.0.1", + "d3-interpolate": "^3.0.1", + "d3-scale": "^4.0.2", + "d3-shape": "^3.1.0", + "d3-time": "^3.0.0", + "d3-timer": "^3.0.1" + } + }, + "node_modules/vite": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz", + "integrity": "sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==", + "dev": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", + "dev": true + }, + "node_modules/which": { + "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" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "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": { + "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==", + "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-styles": { + "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" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/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==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/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==" + }, + "node_modules/wrap-ansi/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==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/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==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.2.tgz", + "integrity": "sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/client/package.json b/client/package.json new file mode 100644 index 0000000..3106dd2 --- /dev/null +++ b/client/package.json @@ -0,0 +1,66 @@ +{ + "name": "finetune_llms_frontend", + "private": false, + "license": "MIT", + "type": "module", + "scripts": { + "start": "vite --open", + "dev": "NODE_ENV=development vite --debug --host=0.0.0.0", + "build": "vite build", + "lint": "yarn prettier --write ./src", + "preview": "vite preview" + }, + "dependencies": { + "@metamask/jazzicon": "^2.0.0", + "@microsoft/fetch-event-source": "^2.0.1", + "@phosphor-icons/react": "^2.0.13", + "@tremor/react": "^3.15.1", + "dompurify": "^3.0.8", + "file-saver": "^2.0.5", + "he": "^1.2.0", + "highlight.js": "^11.9.0", + "lodash.debounce": "^4.0.8", + "markdown-it": "^13.0.1", + "pluralize": "^8.0.0", + "react": "^18.2.0", + "react-device-detect": "^2.2.2", + "react-dom": "^18.2.0", + "react-dropzone": "^14.2.3", + "react-loading-skeleton": "^3.1.0", + "react-router-dom": "^6.3.0", + "react-tag-input-component": "^2.0.2", + "react-toastify": "^9.1.3", + "react-tooltip": "^5.25.2", + "recharts": "^2.12.5", + "recharts-to-png": "^2.3.1", + "text-case": "^1.0.9", + "truncate": "^3.0.0", + "uuid": "^9.0.0" + }, + "devDependencies": { + "@esbuild-plugins/node-globals-polyfill": "^0.1.1", + "@types/react": "^18.2.23", + "@types/react-dom": "^18.2.8", + "@types/react-router-dom": "^5.3.3", + "@vitejs/plugin-react": "^4.0.0-beta.0", + "autoprefixer": "^10.4.14", + "buffer": "^6.0.3", + "eslint": "^8.50.0", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-ft-flow": "^3.0.0", + "eslint-plugin-prettier": "^5.0.0", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.3", + "flow-bin": "^0.217.0", + "flow-remove-types": "^2.217.1", + "globals": "^13.21.0", + "hermes-eslint": "^0.15.0", + "postcss": "^8.4.23", + "prettier": "^3.0.3", + "rollup-plugin-visualizer": "^5.9.0", + "tailwindcss": "^3.3.1", + "typescript": "^5.4.5", + "vite": "^4.3.0" + } +} diff --git a/client/src/App.tsx b/client/src/App.tsx new file mode 100644 index 0000000..0a5ed65 --- /dev/null +++ b/client/src/App.tsx @@ -0,0 +1,161 @@ +import React, { lazy, Suspense } from "react"; +import { Routes, Route } from "react-router-dom"; +import { ContextWrapper } from "@/AuthContext"; +import PrivateRoute, { + AdminRoute, + ManagerRoute, +} from "@/components/PrivateRoute"; +import { ToastContainer } from "react-toastify"; +import "react-toastify/dist/ReactToastify.css"; +import Login from "@/pages/Login"; +import OnboardingFlow from "@/pages/OnboardingFlow"; + +import { PfpProvider } from "./PfpContext"; +import { LogoProvider } from "./LogoContext"; + +const Main = lazy(() => import("@/pages/Main")); +const InvitePage = lazy(() => import("@/pages/Invite")); +const WorkspaceChat = lazy(() => import("@/pages/WorkspaceChat")); +const AdminUsers = lazy(() => import("@/pages/Admin/Users")); +const AdminInvites = lazy(() => import("@/pages/Admin/Invitations")); +const AdminWorkspaces = lazy(() => import("@/pages/Admin/Workspaces")); +const AdminSystem = lazy(() => import("@/pages/Admin/System")); +const AdminLogs = lazy(() => import("@/pages/Admin/Logging")); +const GeneralChats = lazy(() => import("@/pages/GeneralSettings/Chats")); +const GeneralAppearance = lazy( + () => import("@/pages/GeneralSettings/Appearance") +); +const GeneralApiKeys = lazy(() => import("@/pages/GeneralSettings/ApiKeys")); +const GeneralLLMPreference = lazy( + () => import("@/pages/GeneralSettings/LLMPreference") +); +const GeneralTranscriptionPreference = lazy( + () => import("@/pages/GeneralSettings/TranscriptionPreference") +); +const GeneralEmbeddingPreference = lazy( + () => import("@/pages/GeneralSettings/EmbeddingPreference") +); +const EmbeddingTextSplitterPreference = lazy( + () => import("@/pages/GeneralSettings/EmbeddingTextSplitterPreference") +); +const GeneralVectorDatabase = lazy( + () => import("@/pages/GeneralSettings/VectorDatabase") +); +const GeneralSecurity = lazy(() => import("@/pages/GeneralSettings/Security")); +const WorkspaceSettings = lazy(() => import("@/pages/WorkspaceSettings")); +const EmbedConfigSetup = lazy( + () => import("@/pages/GeneralSettings/EmbedConfigs") +); +const EmbedChats = lazy(() => import("@/pages/GeneralSettings/EmbedChats")); +const PrivacyAndData = lazy( + () => import("@/pages/GeneralSettings/PrivacyAndData") +); + +export default function App() { + return ( + }> + + + + + } /> + } /> + } + /> + } + /> + } + /> + } /> + + {/* Admin */} + } + /> + + } + /> + } + /> + + } + /> + } + /> + } + /> + } + /> + } + /> + {/* Manager */} + } + /> + } + /> + } + /> + } + /> + } + /> + } + /> + } + /> + } + /> + } + /> + {/* Onboarding Flow */} + } /> + } /> + + + + + + + ); +} From 61efbe697c037ddecde4ac68339355045d4f1b8d Mon Sep 17 00:00:00 2001 From: jazelly Date: Fri, 24 May 2024 22:05:26 +0930 Subject: [PATCH 21/96] feat: expose as ui and server --- .gitignore | 3 +- README.md | 5 + client/package-lock.json | 6968 ----------------- frontend/.env.example | 3 + frontend/.gitignore | 29 + frontend/.nvmrc | 1 + frontend/index.html | 38 + frontend/jsconfig.json | 12 + {client => frontend}/package.json | 3 +- frontend/postcss.config.js | 7 + frontend/public/anything-llm-dark.png | Bin 0 -> 8413 bytes frontend/public/anything-llm-light.png | Bin 0 -> 6324 bytes .../embed/anythingllm-chat-widget.min.js | 38 + frontend/public/favicon.ico | Bin 0 -> 4286 bytes frontend/public/favicon.png | Bin 0 -> 3624 bytes frontend/public/fonts/PlusJakartaSans.ttf | Bin 0 -> 176144 bytes frontend/public/robots.txt | 2 + client/src/App.tsx => frontend/src/App.jsx | 7 + frontend/src/AuthContext.jsx | 32 + frontend/src/LogoContext.jsx | 28 + frontend/src/PfpContext.jsx | 30 + .../src/components/ChangeWarning/index.jsx | 47 + frontend/src/components/ChatBubble/index.jsx | 31 + .../components/DataConnectorOption/index.jsx | 25 + .../DataConnectorOption/media/confluence.jpeg | Bin 0 -> 5659 bytes .../DataConnectorOption/media/github.svg | 4 + .../DataConnectorOption/media/index.js | 13 + .../DataConnectorOption/media/link.svg | 1 + .../DataConnectorOption/media/youtube.svg | 10 + frontend/src/components/DefaultChat/index.jsx | 363 + .../components/EditingChatBubble/index.jsx | 65 + .../AzureAiOptions/index.jsx | 55 + .../CohereOptions/index.jsx | 55 + .../EmbeddingSelection/EmbedderItem/index.jsx | 37 + .../LMStudioOptions/index.jsx | 120 + .../LocalAiOptions/index.jsx | 151 + .../NativeEmbeddingOptions/index.jsx | 10 + .../OllamaOptions/index.jsx | 120 + .../OpenAiOptions/index.jsx | 51 + frontend/src/components/Footer/index.jsx | 107 + .../LLMSelection/AnthropicAiOptions/index.jsx | 52 + .../LLMSelection/AzureAiOptions/index.jsx | 92 + .../LLMSelection/CohereAiOptions/index.jsx | 49 + .../LLMSelection/GeminiLLMOptions/index.jsx | 45 + .../GenericOpenAiOptions/index.jsx | 81 + .../LLMSelection/GroqAiOptions/index.jsx | 48 + .../LLMSelection/HuggingFaceOptions/index.jsx | 56 + .../LLMSelection/KoboldCPPOptions/index.jsx | 112 + .../components/LLMSelection/LLMItem/index.jsx | 37 + .../LLMSelection/LLMProviderOption/index.jsx | 37 + .../LLMSelection/LMStudioOptions/index.jsx | 143 + .../LLMSelection/LocalAiOptions/index.jsx | 173 + .../LLMSelection/MistralOptions/index.jsx | 105 + .../LLMSelection/NativeLLMOptions/index.jsx | 102 + .../LLMSelection/OllamaLLMOptions/index.jsx | 124 + .../LLMSelection/OpenAiOptions/index.jsx | 107 + .../LLMSelection/OpenRouterOptions/index.jsx | 99 + .../LLMSelection/PerplexityOptions/index.jsx | 90 + .../TextGenWebUIOptions/index.jsx | 51 + .../LLMSelection/TogetherAiOptions/index.jsx | 99 + .../src/components/ModalWrapper/index.jsx | 9 + .../Modals/DisplayRecoveryCodeModal/index.jsx | 86 + .../DataConnectors/ConnectorOption/index.jsx | 25 + .../Connectors/Confluence/index.jsx | 164 + .../Connectors/Github/index.jsx | 271 + .../Connectors/WebsiteDepth/index.jsx | 134 + .../Connectors/Youtube/index.jsx | 91 + .../MangeWorkspace/DataConnectors/index.jsx | 91 + .../Documents/Directory/FileRow/index.jsx | 74 + .../Documents/Directory/FolderRow/index.jsx | 75 + .../Directory/FolderSelectionPopup/index.jsx | 24 + .../Documents/Directory/MoveToFolderIcon.jsx | 44 + .../Documents/Directory/index.jsx | 316 + .../UploadFile/FileUploadProgress/index.jsx | 138 + .../Documents/UploadFile/index.jsx | 155 + .../WorkspaceFileRow/index.jsx | 185 + .../Documents/WorkspaceDirectory/index.jsx | 191 + .../Modals/MangeWorkspace/Documents/index.jsx | 230 + .../Modals/MangeWorkspace/index.jsx | 145 + .../src/components/Modals/NewWorkspace.jsx | 91 + .../Modals/Password/MultiUserAuth.jsx | 336 + .../Modals/Password/SingleUserAuth.jsx | 116 + .../src/components/Modals/Password/index.jsx | 152 + frontend/src/components/Preloader.jsx | 18 + .../src/components/PrivateRoute/index.jsx | 141 + .../src/components/SettingsButton/index.jsx | 33 + .../src/components/SettingsSidebar/index.jsx | 376 + .../ThreadContainer/ThreadItem/index.jsx | 257 + .../ThreadContainer/index.jsx | 191 + .../Sidebar/ActiveWorkspaces/index.jsx | 198 + frontend/src/components/Sidebar/index.jsx | 191 + .../SpeechToText/BrowserNative/index.jsx | 9 + .../TextToSpeech/BrowserNative/index.jsx | 9 + .../TextToSpeech/ElevenLabsOptions/index.jsx | 107 + .../TextToSpeech/OpenAiOptions/index.jsx | 45 + .../NativeTranscriptionOptions/index.jsx | 38 + .../OpenAiOptions/index.jsx | 41 + frontend/src/components/UserIcon/index.jsx | 35 + .../UserMenu/AccountModal/index.jsx | 170 + .../components/UserMenu/UserButton/index.jsx | 129 + frontend/src/components/UserMenu/index.jsx | 10 + .../AstraDBOptions/index.jsx | 41 + .../ChromaDBOptions/index.jsx | 51 + .../LanceDBOptions/index.jsx | 9 + .../MilvusDBOptions/index.jsx | 52 + .../PineconeDBOptions/index.jsx | 38 + .../QDrantDBOptions/index.jsx | 38 + .../VectorDBSelection/VectorDBItem/index.jsx | 37 + .../WeaviateDBOptions/index.jsx | 38 + .../ZillizCloudOptions/index.jsx | 38 + .../ChatHistory/Chartable/CustomCell.jsx | 50 + .../ChatHistory/Chartable/CustomTooltip.jsx | 89 + .../ChatHistory/Chartable/chart-utils.js | 98 + .../ChatHistory/Chartable/index.jsx | 467 ++ .../ChatHistory/Citation/index.jsx | 268 + .../Actions/TTSButton/asyncTts.jsx | 94 + .../Actions/TTSButton/index.jsx | 23 + .../Actions/TTSButton/native.jsx | 61 + .../HistoricalMessage/Actions/index.jsx | 151 + .../ChatHistory/HistoricalMessage/index.jsx | 112 + .../ChatHistory/PromptReply/index.jsx | 90 + .../ChatContainer/ChatHistory/index.jsx | 230 + .../PromptInput/AgentMenu/index.jsx | 186 + .../SlashPresets/AddPresetModal.jsx | 111 + .../SlashPresets/EditPresetModal.jsx | 148 + .../SlashCommands/SlashPresets/index.jsx | 127 + .../SlashCommands/endAgentSession.jsx | 23 + .../icons/slash-commands-icon.svg | 4 + .../PromptInput/SlashCommands/index.jsx | 70 + .../PromptInput/SlashCommands/reset.jsx | 23 + .../PromptInput/SpeechToText/index.jsx | 82 + .../StopGenerationButton/index.jsx | 51 + .../PromptInput/StopGenerationButton/stop.svg | 4 + .../PromptInput/TextSizeMenu/index.jsx | 124 + .../ChatContainer/PromptInput/index.jsx | 170 + .../WorkspaceChat/ChatContainer/index.jsx | 255 + .../WorkspaceChat/LoadingChat/index.jsx | 60 + .../src/components/WorkspaceChat/index.jsx | 100 + frontend/src/hooks/useCopyText.js | 15 + frontend/src/hooks/useGetProvidersModels.js | 84 + frontend/src/hooks/useLoginMode.js | 18 + frontend/src/hooks/useLogo.js | 7 + frontend/src/hooks/useModal.js | 10 + frontend/src/hooks/usePfp.js | 7 + frontend/src/hooks/usePrefersDarkMode.js | 9 + frontend/src/hooks/useQuery.js | 3 + frontend/src/hooks/useUser.js | 18 + frontend/src/index.css | 744 ++ frontend/src/main.jsx | 15 + .../src/media/dataConnectors/confluence.png | Bin 0 -> 9582 bytes .../media/illustrations/create-workspace.png | Bin 0 -> 18405 bytes .../illustrations/login-illustration.svg | 174 + .../src/media/illustrations/login-logo.svg | 37 + frontend/src/media/llmprovider/anthropic.png | Bin 0 -> 11892 bytes frontend/src/media/llmprovider/azure.png | Bin 0 -> 34705 bytes frontend/src/media/llmprovider/cohere.png | Bin 0 -> 142073 bytes frontend/src/media/llmprovider/gemini.png | Bin 0 -> 26348 bytes .../src/media/llmprovider/generic-openai.png | Bin 0 -> 29556 bytes frontend/src/media/llmprovider/groq.png | Bin 0 -> 1450 bytes .../src/media/llmprovider/huggingface.png | Bin 0 -> 17572 bytes frontend/src/media/llmprovider/koboldcpp.png | Bin 0 -> 7110 bytes frontend/src/media/llmprovider/lmstudio.png | Bin 0 -> 77912 bytes frontend/src/media/llmprovider/localai.png | Bin 0 -> 177825 bytes frontend/src/media/llmprovider/mistral.jpeg | Bin 0 -> 4542 bytes frontend/src/media/llmprovider/ollama.png | Bin 0 -> 23630 bytes frontend/src/media/llmprovider/openai.png | Bin 0 -> 22744 bytes .../src/media/llmprovider/openrouter.jpeg | Bin 0 -> 6366 bytes frontend/src/media/llmprovider/perplexity.png | Bin 0 -> 15863 bytes .../llmprovider/text-generation-webui.png | Bin 0 -> 262819 bytes frontend/src/media/llmprovider/togetherai.png | Bin 0 -> 8356 bytes frontend/src/media/logo/anything-llm-icon.png | Bin 0 -> 204166 bytes frontend/src/media/logo/anything-llm-old.png | Bin 0 -> 8413 bytes frontend/src/media/logo/anything-llm.png | Bin 0 -> 6324 bytes .../src/media/ttsproviders/elevenlabs.png | Bin 0 -> 6422 bytes frontend/src/media/vectordbs/astraDB.png | Bin 0 -> 1521 bytes frontend/src/media/vectordbs/chroma.png | Bin 0 -> 2006 bytes frontend/src/media/vectordbs/lancedb.png | Bin 0 -> 14987 bytes frontend/src/media/vectordbs/milvus.png | Bin 0 -> 4250 bytes frontend/src/media/vectordbs/pinecone.png | Bin 0 -> 2166 bytes frontend/src/media/vectordbs/qdrant.png | Bin 0 -> 15073 bytes frontend/src/media/vectordbs/weaviate.png | Bin 0 -> 32173 bytes frontend/src/media/vectordbs/zilliz.png | Bin 0 -> 14336 bytes frontend/src/models/admin.js | 229 + frontend/src/models/dataConnector.js | 106 + frontend/src/models/document.js | 38 + frontend/src/models/embed.js | 80 + frontend/src/models/invite.js | 27 + frontend/src/models/system.js | 640 ++ frontend/src/models/workspace.js | 341 + frontend/src/models/workspaceThread.js | 168 + frontend/src/pages/404.jsx | 24 + .../Admin/Invitations/InviteRow/index.jsx | 83 + .../Invitations/NewInviteModal/index.jsx | 189 + .../src/pages/Admin/Invitations/index.jsx | 109 + .../src/pages/Admin/Logging/LogRow/index.jsx | 105 + frontend/src/pages/Admin/Logging/index.jsx | 158 + frontend/src/pages/Admin/System/index.jsx | 155 + .../pages/Admin/Users/NewUserModal/index.jsx | 123 + .../Users/UserRow/EditUserModal/index.jsx | 120 + .../src/pages/Admin/Users/UserRow/index.jsx | 103 + frontend/src/pages/Admin/Users/index.jsx | 137 + .../Workspaces/NewWorkspaceModal/index.jsx | 78 + .../Admin/Workspaces/WorkspaceRow/index.jsx | 58 + frontend/src/pages/Admin/Workspaces/index.jsx | 113 + .../ApiKeys/ApiKeyRow/index.jsx | 76 + .../ApiKeys/NewApiKeyModal/index.jsx | 112 + .../pages/GeneralSettings/ApiKeys/index.jsx | 115 + .../Appearance/CustomLogo/index.jsx | 150 + .../Appearance/CustomMessages/index.jsx | 126 + .../FooterCustomization/NewIconForm/index.jsx | 115 + .../Appearance/FooterCustomization/index.jsx | 82 + .../Appearance/SupportEmail/index.jsx | 96 + .../GeneralSettings/Appearance/index.jsx | 35 + .../GeneralSettings/AudioPreference/index.jsx | 45 + .../GeneralSettings/AudioPreference/stt.jsx | 191 + .../GeneralSettings/AudioPreference/tts.jsx | 209 + .../GeneralSettings/Chats/ChatRow/index.jsx | 96 + .../src/pages/GeneralSettings/Chats/index.jsx | 240 + .../EmbedChats/ChatRow/index.jsx | 125 + .../GeneralSettings/EmbedChats/index.jsx | 131 + .../EmbedRow/CodeSnippetModal/index.jsx | 123 + .../EmbedRow/EditEmbedModal/index.jsx | 121 + .../EmbedConfigs/EmbedRow/index.jsx | 140 + .../EmbedConfigs/NewEmbedModal/index.jsx | 328 + .../GeneralSettings/EmbedConfigs/index.jsx | 104 + .../EmbeddingPreference/index.jsx | 334 + .../EmbeddingTextSplitterPreference/index.jsx | 180 + .../GeneralSettings/LLMPreference/index.jsx | 423 + .../GeneralSettings/PrivacyAndData/index.jsx | 208 + .../pages/GeneralSettings/Security/index.jsx | 346 + .../TranscriptionPreference/index.jsx | 239 + .../GeneralSettings/VectorDatabase/index.jsx | 318 + .../src/pages/Invite/NewUserModal/index.jsx | 97 + frontend/src/pages/Invite/index.jsx | 56 + frontend/src/pages/Login/index.jsx | 15 + frontend/src/pages/Main/index.jsx | 25 + .../Steps/CreateWorkspace/index.jsx | 95 + .../Steps/DataHandling/index.jsx | 393 + .../pages/OnboardingFlow/Steps/Home/index.jsx | 41 + .../OnboardingFlow/Steps/Home/l_group.png | Bin 0 -> 74247 bytes .../OnboardingFlow/Steps/Home/r_group.png | Bin 0 -> 81768 bytes .../Steps/LLMPreference/index.jsx | 303 + .../OnboardingFlow/Steps/Survey/index.jsx | 245 + .../OnboardingFlow/Steps/UserSetup/index.jsx | 332 + .../src/pages/OnboardingFlow/Steps/index.jsx | 136 + frontend/src/pages/OnboardingFlow/index.jsx | 21 + frontend/src/pages/WorkspaceChat/index.jsx | 52 + .../AgentLLMSelection/AgentLLMItem/index.jsx | 151 + .../AgentConfig/AgentLLMSelection/index.jsx | 206 + .../AgentConfig/AgentModelSelection/index.jsx | 128 + .../AgentConfig/GenericSkill/index.jsx | 39 + .../SearchProviderItem/index.jsx | 27 + .../SearchProviderOptions/index.jsx | 84 + .../WebSearchSelection/icons/google.png | Bin 0 -> 18000 bytes .../WebSearchSelection/icons/serper.png | Bin 0 -> 31321 bytes .../AgentConfig/WebSearchSelection/index.jsx | 194 + .../WorkspaceSettings/AgentConfig/index.jsx | 211 + .../ChatHistorySettings/index.jsx | 32 + .../ChatSettings/ChatModeSelection/index.jsx | 57 + .../ChatSettings/ChatModelSelection/index.jsx | 112 + .../ChatSettings/ChatPromptSettings/index.jsx | 30 + .../ChatQueryRefusalResponse/index.jsx | 29 + .../ChatTemperatureSettings/index.jsx | 47 + .../WorkspaceLLMItem/index.jsx | 151 + .../WorkspaceLLMSelection/index.jsx | 162 + .../WorkspaceSettings/ChatSettings/index.jsx | 93 + .../DeleteWorkspace/index.jsx | 52 + .../SuggestedChatMessages/index.jsx | 189 + .../GeneralAppearance/VectorCount/index.jsx | 39 + .../GeneralAppearance/WorkspaceName/index.jsx | 26 + .../GeneralAppearance/WorkspacePfp/index.jsx | 96 + .../GeneralAppearance/index.jsx | 74 + .../Members/AddMemberModal/index.jsx | 164 + .../Members/WorkspaceMemberRow/index.jsx | 15 + .../pages/WorkspaceSettings/Members/index.jsx | 91 + .../DocumentSimilarityThreshold/index.jsx | 31 + .../MaxContextSnippets/index.jsx | 31 + .../VectorDatabase/ResetDatabase/index.jsx | 42 + .../VectorDBIdentifier/index.jsx | 9 + .../VectorDatabase/index.jsx | 58 + .../src/pages/WorkspaceSettings/index.jsx | 139 + frontend/src/utils/chat/agent.js | 123 + frontend/src/utils/chat/index.js | 156 + frontend/src/utils/chat/markdown.js | 50 + frontend/src/utils/constants.js | 15 + frontend/src/utils/directories.js | 33 + frontend/src/utils/numbers.js | 60 + frontend/src/utils/paths.js | 136 + frontend/src/utils/request.js | 26 + frontend/src/utils/session.js | 15 + frontend/src/utils/toast.js | 40 + frontend/src/utils/types.js | 19 + frontend/tailwind.config.js | 122 + frontend/tsconfig.json | 21 + frontend/vite.config.js | 69 + frontend/yarn.lock | 3736 +++++++++ llama2/notebook/sft_qlora.ipynb | 1007 --- llama2/script/utils.py | 27 - server/.env.example | 221 + server/.flowconfig | 30 + server/.gitignore | 21 + server/.nvmrc | 1 + server/endpoints/admin.js | 450 ++ server/endpoints/agentWebsocket.js | 61 + server/endpoints/api/admin/index.js | 672 ++ server/endpoints/api/auth/index.js | 33 + server/endpoints/api/document/index.js | 726 ++ server/endpoints/api/index.js | 21 + server/endpoints/api/system/index.js | 211 + server/endpoints/api/workspace/index.js | 673 ++ server/endpoints/chat.js | 232 + server/endpoints/document.js | 103 + server/endpoints/embed/index.js | 103 + server/endpoints/embedManagement.js | 129 + server/endpoints/extensions/index.js | 119 + server/endpoints/invite.js | 76 + server/endpoints/system.js | 1154 +++ server/endpoints/utils.js | 60 + server/endpoints/workspaceThreads.js | 173 + server/endpoints/workspaces.js | 693 ++ server/index.js | 116 + server/jsconfig.json | 14 + server/models/apiKeys.js | 96 + server/models/cacheData.js | 69 + server/models/documents.js | 216 + server/models/embedChats.js | 162 + server/models/embedConfig.js | 239 + server/models/eventLogs.js | 129 + server/models/invite.js | 144 + server/models/passwordRecovery.js | 115 + server/models/slashCommandsPresets.js | 105 + server/models/systemSettings.js | 397 + server/models/telemetry.js | 90 + server/models/user.js | 205 + server/models/vectors.js | 69 + server/models/welcomeMessages.js | 65 + server/models/workspace.js | 295 + server/models/workspaceAgentInvocation.js | 97 + server/models/workspaceChats.js | 225 + server/models/workspaceThread.js | 89 + server/models/workspaceUsers.js | 97 + server/models/workspacesSuggestedMessages.js | 83 + server/nodemon.json | 6 + server/package.json | 96 + .../20230921191814_init/migration.sql | 125 + .../20231101001441_init/migration.sql | 2 + .../20231101195421_init/migration.sql | 11 + .../20231129012019_add/migration.sql | 2 + .../20240113013409_init/migration.sql | 2 + .../20240118201333_init/migration.sql | 2 + .../20240202002020_init/migration.sql | 37 + .../20240206181106_init/migration.sql | 13 + .../20240206211916_init/migration.sql | 11 + .../20240208224848_init/migration.sql | 24 + .../20240210004405_init/migration.sql | 2 + .../20240216214639_init/migration.sql | 2 + .../20240219211018_init/migration.sql | 2 + .../20240301002308_init/migration.sql | 2 + .../20240326231053_init/migration.sql | 2 + .../20240405015034_init/migration.sql | 2 + .../20240412183346_init/migration.sql | 24 + .../20240425004220_init/migration.sql | 30 + .../20240430230707_init/migration.sql | 2 + .../20240510032311_init/migration.sql | 15 + server/prisma/migrations/migration_lock.toml | 3 + server/prisma/schema.prisma | 277 + server/prisma/seed.js | 34 + server/storage/README.md | 24 + server/storage/assets/anything-llm.png | Bin 0 -> 6324 bytes server/storage/models/.gitignore | 4 + server/storage/models/README.md | 45 + server/storage/models/downloaded/.placeholder | 1 + server/swagger/dark-swagger.css | 1722 ++++ server/swagger/index.css | 3 + server/swagger/index.js | 28 + server/swagger/init.js | 51 + server/swagger/openapi.json | 2484 ++++++ server/swagger/utils.js | 52 + server/utils/AiProviders/anthropic/index.js | 233 + server/utils/AiProviders/azureOpenAi/index.js | 173 + server/utils/AiProviders/cohere/index.js | 226 + server/utils/AiProviders/gemini/index.js | 253 + .../utils/AiProviders/genericOpenAi/index.js | 141 + server/utils/AiProviders/groq/index.js | 150 + server/utils/AiProviders/huggingface/index.js | 135 + server/utils/AiProviders/koboldCPP/index.js | 180 + server/utils/AiProviders/lmStudio/index.js | 140 + server/utils/AiProviders/localAi/index.js | 130 + server/utils/AiProviders/mistral/index.js | 125 + server/utils/AiProviders/native/index.js | 203 + server/utils/AiProviders/ollama/README.md | 40 + server/utils/AiProviders/ollama/index.js | 212 + server/utils/AiProviders/openAi/index.js | 181 + server/utils/AiProviders/openRouter/index.js | 311 + server/utils/AiProviders/perplexity/index.js | 141 + server/utils/AiProviders/perplexity/models.js | 54 + .../AiProviders/perplexity/scripts/.gitignore | 1 + .../perplexity/scripts/chat_models.txt | 12 + .../AiProviders/perplexity/scripts/parse.mjs | 44 + .../utils/AiProviders/textGenWebUI/index.js | 131 + server/utils/AiProviders/togetherAi/index.js | 138 + server/utils/AiProviders/togetherAi/models.js | 346 + .../AiProviders/togetherAi/scripts/.gitignore | 1 + .../togetherAi/scripts/chat_models.txt | 59 + .../AiProviders/togetherAi/scripts/parse.mjs | 43 + server/utils/DocumentManager/index.js | 72 + .../EmbeddingEngines/azureOpenAi/index.js | 100 + server/utils/EmbeddingEngines/cohere/index.js | 86 + .../utils/EmbeddingEngines/lmstudio/index.js | 112 + .../utils/EmbeddingEngines/localAi/index.js | 89 + server/utils/EmbeddingEngines/native/index.js | 187 + server/utils/EmbeddingEngines/ollama/index.js | 108 + server/utils/EmbeddingEngines/openAi/index.js | 90 + server/utils/PasswordRecovery/index.js | 103 + server/utils/TextSplitter/index.js | 84 + server/utils/TextToSpeech/elevenLabs/index.js | 54 + server/utils/TextToSpeech/index.js | 15 + server/utils/TextToSpeech/openAi/index.js | 29 + server/utils/agents/aibitat/error.js | 18 + .../utils/agents/aibitat/example/.gitignore | 1 + .../agents/aibitat/example/beginner-chat.js | 56 + .../aibitat/example/blog-post-coding.js | 55 + .../aibitat/example/websocket/index.html | 67 + .../websocket/websock-branding-collab.js | 100 + .../websocket/websock-multi-turn-chat.js | 91 + server/utils/agents/aibitat/index.js | 785 ++ .../agents/aibitat/plugins/chat-history.js | 84 + server/utils/agents/aibitat/plugins/cli.js | 140 + .../agents/aibitat/plugins/file-history.js | 37 + server/utils/agents/aibitat/plugins/index.js | 29 + server/utils/agents/aibitat/plugins/memory.js | 164 + .../utils/agents/aibitat/plugins/rechart.js | 109 + .../aibitat/plugins/save-file-browser.js | 96 + .../utils/agents/aibitat/plugins/summarize.js | 178 + .../agents/aibitat/plugins/web-browsing.js | 183 + .../agents/aibitat/plugins/web-scraping.js | 107 + .../utils/agents/aibitat/plugins/websocket.js | 156 + .../agents/aibitat/providers/ai-provider.js | 74 + .../agents/aibitat/providers/anthropic.js | 211 + .../utils/agents/aibitat/providers/azure.js | 105 + .../agents/aibitat/providers/genericOpenAi.js | 117 + server/utils/agents/aibitat/providers/groq.js | 113 + .../aibitat/providers/helpers/classes.js | 16 + .../aibitat/providers/helpers/untooled.js | 153 + .../utils/agents/aibitat/providers/index.js | 31 + .../agents/aibitat/providers/koboldcpp.js | 113 + .../agents/aibitat/providers/lmstudio.js | 113 + .../utils/agents/aibitat/providers/localai.js | 114 + .../utils/agents/aibitat/providers/mistral.js | 116 + .../utils/agents/aibitat/providers/ollama.js | 107 + .../utils/agents/aibitat/providers/openai.js | 151 + .../agents/aibitat/providers/openrouter.js | 117 + .../agents/aibitat/providers/perplexity.js | 112 + .../agents/aibitat/providers/textgenwebui.js | 112 + .../agents/aibitat/providers/togetherai.js | 113 + server/utils/agents/aibitat/utils/dedupe.js | 68 + .../utils/agents/aibitat/utils/summarize.js | 62 + server/utils/agents/defaults.js | 43 + server/utils/agents/index.js | 301 + server/utils/boot/index.js | 66 + server/utils/chats/agents.js | 71 + server/utils/chats/commands/reset.js | 32 + server/utils/chats/embed.js | 222 + server/utils/chats/index.js | 269 + server/utils/chats/stream.js | 253 + server/utils/collectorApi/index.js | 161 + server/utils/comKey/index.js | 78 + server/utils/database/index.js | 116 + server/utils/files/index.js | 220 + server/utils/files/logo.js | 91 + server/utils/files/multer.js | 116 + server/utils/files/pfp.js | 59 + server/utils/files/purgeDocument.js | 83 + server/utils/helpers/admin/index.js | 56 + server/utils/helpers/camelcase.js | 143 + server/utils/helpers/chat/convertTo.js | 163 + server/utils/helpers/chat/index.js | 349 + server/utils/helpers/chat/responses.js | 212 + server/utils/helpers/customModels.js | 356 + server/utils/helpers/index.js | 156 + .../utils/helpers/portAvailabilityChecker.js | 46 + server/utils/helpers/tiktoken.js | 60 + server/utils/helpers/updateENV.js | 735 ++ server/utils/http/index.js | 104 + server/utils/middleware/embedMiddleware.js | 151 + server/utils/middleware/multiUserProtected.js | 87 + server/utils/middleware/validApiKey.js | 29 + server/utils/middleware/validWorkspace.js | 52 + server/utils/middleware/validatedRequest.js | 99 + server/utils/prisma/PRISMA.md | 47 + server/utils/prisma/index.js | 13 + server/utils/prisma/migrateFromSqlite.js | 281 + server/utils/telemetry/index.js | 33 + .../vectorDbProviders/astra/ASTRA_SETUP.md | 22 + server/utils/vectorDbProviders/astra/index.js | 398 + .../vectorDbProviders/chroma/CHROMA_SETUP.md | 28 + .../utils/vectorDbProviders/chroma/index.js | 375 + server/utils/vectorDbProviders/lance/index.js | 340 + .../vectorDbProviders/milvus/MILVUS_SETUP.md | 40 + .../utils/vectorDbProviders/milvus/index.js | 400 + .../pinecone/PINECONE_SETUP.md | 24 + .../utils/vectorDbProviders/pinecone/index.js | 293 + .../vectorDbProviders/qdrant/QDRANT_SETUP.md | 17 + .../utils/vectorDbProviders/qdrant/index.js | 405 + .../weaviate/WEAVIATE_SETUP.md | 17 + .../utils/vectorDbProviders/weaviate/index.js | 483 ++ .../utils/vectorDbProviders/zilliz/index.js | 400 + server/yarn.lock | 6270 +++++++++++++++ trainer/README.md | 17 + trainer/manage.py | 22 + {llama2 => trainer}/requirements.txt | 2 + trainer/trainer_api/__init__.py | 0 trainer/trainer_api/admin.py | 3 + trainer/trainer_api/apps.py | 19 + trainer/trainer_api/consts.py | 23 + trainer/trainer_api/finetune/README.md | 14 + .../trainer_api/finetune}/sft.py | 30 +- trainer/trainer_api/migrations/__init__.py | 0 trainer/trainer_api/models.py | 5 + trainer/trainer_api/scheduler/queue.py | 170 + trainer/trainer_api/scheduler/task.py | 25 + trainer/trainer_api/scheduler/thread_pool.py | 178 + trainer/trainer_api/scheduler/worker.py | 159 + trainer/trainer_api/tests.py | 3 + trainer/trainer_api/urls.py | 6 + trainer/trainer_api/views.py | 22 + trainer/trainer_router/__init__.py | 0 trainer/trainer_router/asgi.py | 16 + trainer/trainer_router/settings.py | 124 + trainer/trainer_router/urls.py | 23 + trainer/trainer_router/wsgi.py | 16 + 531 files changed, 69798 insertions(+), 8006 deletions(-) delete mode 100644 client/package-lock.json create mode 100644 frontend/.env.example create mode 100644 frontend/.gitignore create mode 100644 frontend/.nvmrc create mode 100644 frontend/index.html create mode 100644 frontend/jsconfig.json rename {client => frontend}/package.json (96%) create mode 100644 frontend/postcss.config.js create mode 100644 frontend/public/anything-llm-dark.png create mode 100644 frontend/public/anything-llm-light.png create mode 100644 frontend/public/embed/anythingllm-chat-widget.min.js create mode 100644 frontend/public/favicon.ico create mode 100644 frontend/public/favicon.png create mode 100644 frontend/public/fonts/PlusJakartaSans.ttf create mode 100644 frontend/public/robots.txt rename client/src/App.tsx => frontend/src/App.jsx (95%) create mode 100644 frontend/src/AuthContext.jsx create mode 100644 frontend/src/LogoContext.jsx create mode 100644 frontend/src/PfpContext.jsx create mode 100644 frontend/src/components/ChangeWarning/index.jsx create mode 100644 frontend/src/components/ChatBubble/index.jsx create mode 100644 frontend/src/components/DataConnectorOption/index.jsx create mode 100644 frontend/src/components/DataConnectorOption/media/confluence.jpeg create mode 100644 frontend/src/components/DataConnectorOption/media/github.svg create mode 100644 frontend/src/components/DataConnectorOption/media/index.js create mode 100644 frontend/src/components/DataConnectorOption/media/link.svg create mode 100644 frontend/src/components/DataConnectorOption/media/youtube.svg create mode 100644 frontend/src/components/DefaultChat/index.jsx create mode 100644 frontend/src/components/EditingChatBubble/index.jsx create mode 100644 frontend/src/components/EmbeddingSelection/AzureAiOptions/index.jsx create mode 100644 frontend/src/components/EmbeddingSelection/CohereOptions/index.jsx create mode 100644 frontend/src/components/EmbeddingSelection/EmbedderItem/index.jsx create mode 100644 frontend/src/components/EmbeddingSelection/LMStudioOptions/index.jsx create mode 100644 frontend/src/components/EmbeddingSelection/LocalAiOptions/index.jsx create mode 100644 frontend/src/components/EmbeddingSelection/NativeEmbeddingOptions/index.jsx create mode 100644 frontend/src/components/EmbeddingSelection/OllamaOptions/index.jsx create mode 100644 frontend/src/components/EmbeddingSelection/OpenAiOptions/index.jsx create mode 100644 frontend/src/components/Footer/index.jsx create mode 100644 frontend/src/components/LLMSelection/AnthropicAiOptions/index.jsx create mode 100644 frontend/src/components/LLMSelection/AzureAiOptions/index.jsx create mode 100644 frontend/src/components/LLMSelection/CohereAiOptions/index.jsx create mode 100644 frontend/src/components/LLMSelection/GeminiLLMOptions/index.jsx create mode 100644 frontend/src/components/LLMSelection/GenericOpenAiOptions/index.jsx create mode 100644 frontend/src/components/LLMSelection/GroqAiOptions/index.jsx create mode 100644 frontend/src/components/LLMSelection/HuggingFaceOptions/index.jsx create mode 100644 frontend/src/components/LLMSelection/KoboldCPPOptions/index.jsx create mode 100644 frontend/src/components/LLMSelection/LLMItem/index.jsx create mode 100644 frontend/src/components/LLMSelection/LLMProviderOption/index.jsx create mode 100644 frontend/src/components/LLMSelection/LMStudioOptions/index.jsx create mode 100644 frontend/src/components/LLMSelection/LocalAiOptions/index.jsx create mode 100644 frontend/src/components/LLMSelection/MistralOptions/index.jsx create mode 100644 frontend/src/components/LLMSelection/NativeLLMOptions/index.jsx create mode 100644 frontend/src/components/LLMSelection/OllamaLLMOptions/index.jsx create mode 100644 frontend/src/components/LLMSelection/OpenAiOptions/index.jsx create mode 100644 frontend/src/components/LLMSelection/OpenRouterOptions/index.jsx create mode 100644 frontend/src/components/LLMSelection/PerplexityOptions/index.jsx create mode 100644 frontend/src/components/LLMSelection/TextGenWebUIOptions/index.jsx create mode 100644 frontend/src/components/LLMSelection/TogetherAiOptions/index.jsx create mode 100644 frontend/src/components/ModalWrapper/index.jsx create mode 100644 frontend/src/components/Modals/DisplayRecoveryCodeModal/index.jsx create mode 100644 frontend/src/components/Modals/MangeWorkspace/DataConnectors/ConnectorOption/index.jsx create mode 100644 frontend/src/components/Modals/MangeWorkspace/DataConnectors/Connectors/Confluence/index.jsx create mode 100644 frontend/src/components/Modals/MangeWorkspace/DataConnectors/Connectors/Github/index.jsx create mode 100644 frontend/src/components/Modals/MangeWorkspace/DataConnectors/Connectors/WebsiteDepth/index.jsx create mode 100644 frontend/src/components/Modals/MangeWorkspace/DataConnectors/Connectors/Youtube/index.jsx create mode 100644 frontend/src/components/Modals/MangeWorkspace/DataConnectors/index.jsx create mode 100644 frontend/src/components/Modals/MangeWorkspace/Documents/Directory/FileRow/index.jsx create mode 100644 frontend/src/components/Modals/MangeWorkspace/Documents/Directory/FolderRow/index.jsx create mode 100644 frontend/src/components/Modals/MangeWorkspace/Documents/Directory/FolderSelectionPopup/index.jsx create mode 100644 frontend/src/components/Modals/MangeWorkspace/Documents/Directory/MoveToFolderIcon.jsx create mode 100644 frontend/src/components/Modals/MangeWorkspace/Documents/Directory/index.jsx create mode 100644 frontend/src/components/Modals/MangeWorkspace/Documents/UploadFile/FileUploadProgress/index.jsx create mode 100644 frontend/src/components/Modals/MangeWorkspace/Documents/UploadFile/index.jsx create mode 100644 frontend/src/components/Modals/MangeWorkspace/Documents/WorkspaceDirectory/WorkspaceFileRow/index.jsx create mode 100644 frontend/src/components/Modals/MangeWorkspace/Documents/WorkspaceDirectory/index.jsx create mode 100644 frontend/src/components/Modals/MangeWorkspace/Documents/index.jsx create mode 100644 frontend/src/components/Modals/MangeWorkspace/index.jsx create mode 100644 frontend/src/components/Modals/NewWorkspace.jsx create mode 100644 frontend/src/components/Modals/Password/MultiUserAuth.jsx create mode 100644 frontend/src/components/Modals/Password/SingleUserAuth.jsx create mode 100644 frontend/src/components/Modals/Password/index.jsx create mode 100644 frontend/src/components/Preloader.jsx create mode 100644 frontend/src/components/PrivateRoute/index.jsx create mode 100644 frontend/src/components/SettingsButton/index.jsx create mode 100644 frontend/src/components/SettingsSidebar/index.jsx create mode 100644 frontend/src/components/Sidebar/ActiveWorkspaces/ThreadContainer/ThreadItem/index.jsx create mode 100644 frontend/src/components/Sidebar/ActiveWorkspaces/ThreadContainer/index.jsx create mode 100644 frontend/src/components/Sidebar/ActiveWorkspaces/index.jsx create mode 100644 frontend/src/components/Sidebar/index.jsx create mode 100644 frontend/src/components/SpeechToText/BrowserNative/index.jsx create mode 100644 frontend/src/components/TextToSpeech/BrowserNative/index.jsx create mode 100644 frontend/src/components/TextToSpeech/ElevenLabsOptions/index.jsx create mode 100644 frontend/src/components/TextToSpeech/OpenAiOptions/index.jsx create mode 100644 frontend/src/components/TranscriptionSelection/NativeTranscriptionOptions/index.jsx create mode 100644 frontend/src/components/TranscriptionSelection/OpenAiOptions/index.jsx create mode 100644 frontend/src/components/UserIcon/index.jsx create mode 100644 frontend/src/components/UserMenu/AccountModal/index.jsx create mode 100644 frontend/src/components/UserMenu/UserButton/index.jsx create mode 100644 frontend/src/components/UserMenu/index.jsx create mode 100644 frontend/src/components/VectorDBSelection/AstraDBOptions/index.jsx create mode 100644 frontend/src/components/VectorDBSelection/ChromaDBOptions/index.jsx create mode 100644 frontend/src/components/VectorDBSelection/LanceDBOptions/index.jsx create mode 100644 frontend/src/components/VectorDBSelection/MilvusDBOptions/index.jsx create mode 100644 frontend/src/components/VectorDBSelection/PineconeDBOptions/index.jsx create mode 100644 frontend/src/components/VectorDBSelection/QDrantDBOptions/index.jsx create mode 100644 frontend/src/components/VectorDBSelection/VectorDBItem/index.jsx create mode 100644 frontend/src/components/VectorDBSelection/WeaviateDBOptions/index.jsx create mode 100644 frontend/src/components/VectorDBSelection/ZillizCloudOptions/index.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/Chartable/CustomCell.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/Chartable/CustomTooltip.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/Chartable/chart-utils.js create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/Chartable/index.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/Citation/index.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/Actions/TTSButton/asyncTts.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/Actions/TTSButton/index.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/Actions/TTSButton/native.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/Actions/index.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/index.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/PromptReply/index.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/index.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/AgentMenu/index.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/SlashCommands/SlashPresets/AddPresetModal.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/SlashCommands/SlashPresets/EditPresetModal.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/SlashCommands/SlashPresets/index.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/SlashCommands/endAgentSession.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/SlashCommands/icons/slash-commands-icon.svg create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/SlashCommands/index.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/SlashCommands/reset.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/SpeechToText/index.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/StopGenerationButton/index.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/StopGenerationButton/stop.svg create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/TextSizeMenu/index.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/index.jsx create mode 100644 frontend/src/components/WorkspaceChat/ChatContainer/index.jsx create mode 100644 frontend/src/components/WorkspaceChat/LoadingChat/index.jsx create mode 100644 frontend/src/components/WorkspaceChat/index.jsx create mode 100644 frontend/src/hooks/useCopyText.js create mode 100644 frontend/src/hooks/useGetProvidersModels.js create mode 100644 frontend/src/hooks/useLoginMode.js create mode 100644 frontend/src/hooks/useLogo.js create mode 100644 frontend/src/hooks/useModal.js create mode 100644 frontend/src/hooks/usePfp.js create mode 100644 frontend/src/hooks/usePrefersDarkMode.js create mode 100644 frontend/src/hooks/useQuery.js create mode 100644 frontend/src/hooks/useUser.js create mode 100644 frontend/src/index.css create mode 100644 frontend/src/main.jsx create mode 100644 frontend/src/media/dataConnectors/confluence.png create mode 100644 frontend/src/media/illustrations/create-workspace.png create mode 100644 frontend/src/media/illustrations/login-illustration.svg create mode 100644 frontend/src/media/illustrations/login-logo.svg create mode 100644 frontend/src/media/llmprovider/anthropic.png create mode 100644 frontend/src/media/llmprovider/azure.png create mode 100644 frontend/src/media/llmprovider/cohere.png create mode 100644 frontend/src/media/llmprovider/gemini.png create mode 100644 frontend/src/media/llmprovider/generic-openai.png create mode 100644 frontend/src/media/llmprovider/groq.png create mode 100644 frontend/src/media/llmprovider/huggingface.png create mode 100644 frontend/src/media/llmprovider/koboldcpp.png create mode 100644 frontend/src/media/llmprovider/lmstudio.png create mode 100644 frontend/src/media/llmprovider/localai.png create mode 100644 frontend/src/media/llmprovider/mistral.jpeg create mode 100644 frontend/src/media/llmprovider/ollama.png create mode 100644 frontend/src/media/llmprovider/openai.png create mode 100644 frontend/src/media/llmprovider/openrouter.jpeg create mode 100644 frontend/src/media/llmprovider/perplexity.png create mode 100644 frontend/src/media/llmprovider/text-generation-webui.png create mode 100644 frontend/src/media/llmprovider/togetherai.png create mode 100644 frontend/src/media/logo/anything-llm-icon.png create mode 100644 frontend/src/media/logo/anything-llm-old.png create mode 100644 frontend/src/media/logo/anything-llm.png create mode 100644 frontend/src/media/ttsproviders/elevenlabs.png create mode 100644 frontend/src/media/vectordbs/astraDB.png create mode 100644 frontend/src/media/vectordbs/chroma.png create mode 100644 frontend/src/media/vectordbs/lancedb.png create mode 100644 frontend/src/media/vectordbs/milvus.png create mode 100644 frontend/src/media/vectordbs/pinecone.png create mode 100644 frontend/src/media/vectordbs/qdrant.png create mode 100644 frontend/src/media/vectordbs/weaviate.png create mode 100644 frontend/src/media/vectordbs/zilliz.png create mode 100644 frontend/src/models/admin.js create mode 100644 frontend/src/models/dataConnector.js create mode 100644 frontend/src/models/document.js create mode 100644 frontend/src/models/embed.js create mode 100644 frontend/src/models/invite.js create mode 100644 frontend/src/models/system.js create mode 100644 frontend/src/models/workspace.js create mode 100644 frontend/src/models/workspaceThread.js create mode 100644 frontend/src/pages/404.jsx create mode 100644 frontend/src/pages/Admin/Invitations/InviteRow/index.jsx create mode 100644 frontend/src/pages/Admin/Invitations/NewInviteModal/index.jsx create mode 100644 frontend/src/pages/Admin/Invitations/index.jsx create mode 100644 frontend/src/pages/Admin/Logging/LogRow/index.jsx create mode 100644 frontend/src/pages/Admin/Logging/index.jsx create mode 100644 frontend/src/pages/Admin/System/index.jsx create mode 100644 frontend/src/pages/Admin/Users/NewUserModal/index.jsx create mode 100644 frontend/src/pages/Admin/Users/UserRow/EditUserModal/index.jsx create mode 100644 frontend/src/pages/Admin/Users/UserRow/index.jsx create mode 100644 frontend/src/pages/Admin/Users/index.jsx create mode 100644 frontend/src/pages/Admin/Workspaces/NewWorkspaceModal/index.jsx create mode 100644 frontend/src/pages/Admin/Workspaces/WorkspaceRow/index.jsx create mode 100644 frontend/src/pages/Admin/Workspaces/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/ApiKeys/ApiKeyRow/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/ApiKeys/NewApiKeyModal/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/ApiKeys/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/Appearance/CustomLogo/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/Appearance/CustomMessages/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/Appearance/FooterCustomization/NewIconForm/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/Appearance/FooterCustomization/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/Appearance/SupportEmail/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/Appearance/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/AudioPreference/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/AudioPreference/stt.jsx create mode 100644 frontend/src/pages/GeneralSettings/AudioPreference/tts.jsx create mode 100644 frontend/src/pages/GeneralSettings/Chats/ChatRow/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/Chats/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/EmbedChats/ChatRow/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/EmbedChats/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/EmbedConfigs/EmbedRow/CodeSnippetModal/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/EmbedConfigs/EmbedRow/EditEmbedModal/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/EmbedConfigs/EmbedRow/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/EmbedConfigs/NewEmbedModal/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/EmbedConfigs/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/EmbeddingPreference/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/EmbeddingTextSplitterPreference/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/LLMPreference/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/PrivacyAndData/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/Security/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/TranscriptionPreference/index.jsx create mode 100644 frontend/src/pages/GeneralSettings/VectorDatabase/index.jsx create mode 100644 frontend/src/pages/Invite/NewUserModal/index.jsx create mode 100644 frontend/src/pages/Invite/index.jsx create mode 100644 frontend/src/pages/Login/index.jsx create mode 100644 frontend/src/pages/Main/index.jsx create mode 100644 frontend/src/pages/OnboardingFlow/Steps/CreateWorkspace/index.jsx create mode 100644 frontend/src/pages/OnboardingFlow/Steps/DataHandling/index.jsx create mode 100644 frontend/src/pages/OnboardingFlow/Steps/Home/index.jsx create mode 100644 frontend/src/pages/OnboardingFlow/Steps/Home/l_group.png create mode 100644 frontend/src/pages/OnboardingFlow/Steps/Home/r_group.png create mode 100644 frontend/src/pages/OnboardingFlow/Steps/LLMPreference/index.jsx create mode 100644 frontend/src/pages/OnboardingFlow/Steps/Survey/index.jsx create mode 100644 frontend/src/pages/OnboardingFlow/Steps/UserSetup/index.jsx create mode 100644 frontend/src/pages/OnboardingFlow/Steps/index.jsx create mode 100644 frontend/src/pages/OnboardingFlow/index.jsx create mode 100644 frontend/src/pages/WorkspaceChat/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/AgentConfig/AgentLLMSelection/AgentLLMItem/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/AgentConfig/AgentLLMSelection/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/AgentConfig/AgentModelSelection/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/AgentConfig/GenericSkill/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/AgentConfig/WebSearchSelection/SearchProviderItem/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/AgentConfig/WebSearchSelection/SearchProviderOptions/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/AgentConfig/WebSearchSelection/icons/google.png create mode 100644 frontend/src/pages/WorkspaceSettings/AgentConfig/WebSearchSelection/icons/serper.png create mode 100644 frontend/src/pages/WorkspaceSettings/AgentConfig/WebSearchSelection/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/AgentConfig/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/ChatSettings/ChatHistorySettings/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/ChatSettings/ChatModeSelection/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/ChatSettings/ChatModelSelection/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/ChatSettings/ChatPromptSettings/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/ChatSettings/ChatQueryRefusalResponse/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/ChatSettings/ChatTemperatureSettings/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/ChatSettings/WorkspaceLLMSelection/WorkspaceLLMItem/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/ChatSettings/WorkspaceLLMSelection/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/ChatSettings/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/GeneralAppearance/DeleteWorkspace/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/GeneralAppearance/SuggestedChatMessages/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/GeneralAppearance/VectorCount/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/GeneralAppearance/WorkspaceName/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/GeneralAppearance/WorkspacePfp/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/GeneralAppearance/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/Members/AddMemberModal/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/Members/WorkspaceMemberRow/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/Members/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/VectorDatabase/DocumentSimilarityThreshold/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/VectorDatabase/MaxContextSnippets/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/VectorDatabase/ResetDatabase/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/VectorDatabase/VectorDBIdentifier/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/VectorDatabase/index.jsx create mode 100644 frontend/src/pages/WorkspaceSettings/index.jsx create mode 100644 frontend/src/utils/chat/agent.js create mode 100644 frontend/src/utils/chat/index.js create mode 100644 frontend/src/utils/chat/markdown.js create mode 100644 frontend/src/utils/constants.js create mode 100644 frontend/src/utils/directories.js create mode 100644 frontend/src/utils/numbers.js create mode 100644 frontend/src/utils/paths.js create mode 100644 frontend/src/utils/request.js create mode 100644 frontend/src/utils/session.js create mode 100644 frontend/src/utils/toast.js create mode 100644 frontend/src/utils/types.js create mode 100644 frontend/tailwind.config.js create mode 100644 frontend/tsconfig.json create mode 100644 frontend/vite.config.js create mode 100644 frontend/yarn.lock delete mode 100644 llama2/notebook/sft_qlora.ipynb delete mode 100644 llama2/script/utils.py create mode 100644 server/.env.example create mode 100644 server/.flowconfig create mode 100644 server/.gitignore create mode 100644 server/.nvmrc create mode 100644 server/endpoints/admin.js create mode 100644 server/endpoints/agentWebsocket.js create mode 100644 server/endpoints/api/admin/index.js create mode 100644 server/endpoints/api/auth/index.js create mode 100644 server/endpoints/api/document/index.js create mode 100644 server/endpoints/api/index.js create mode 100644 server/endpoints/api/system/index.js create mode 100644 server/endpoints/api/workspace/index.js create mode 100644 server/endpoints/chat.js create mode 100644 server/endpoints/document.js create mode 100644 server/endpoints/embed/index.js create mode 100644 server/endpoints/embedManagement.js create mode 100644 server/endpoints/extensions/index.js create mode 100644 server/endpoints/invite.js create mode 100644 server/endpoints/system.js create mode 100644 server/endpoints/utils.js create mode 100644 server/endpoints/workspaceThreads.js create mode 100644 server/endpoints/workspaces.js create mode 100644 server/index.js create mode 100644 server/jsconfig.json create mode 100644 server/models/apiKeys.js create mode 100644 server/models/cacheData.js create mode 100644 server/models/documents.js create mode 100644 server/models/embedChats.js create mode 100644 server/models/embedConfig.js create mode 100644 server/models/eventLogs.js create mode 100644 server/models/invite.js create mode 100644 server/models/passwordRecovery.js create mode 100644 server/models/slashCommandsPresets.js create mode 100644 server/models/systemSettings.js create mode 100644 server/models/telemetry.js create mode 100644 server/models/user.js create mode 100644 server/models/vectors.js create mode 100644 server/models/welcomeMessages.js create mode 100644 server/models/workspace.js create mode 100644 server/models/workspaceAgentInvocation.js create mode 100644 server/models/workspaceChats.js create mode 100644 server/models/workspaceThread.js create mode 100644 server/models/workspaceUsers.js create mode 100644 server/models/workspacesSuggestedMessages.js create mode 100644 server/nodemon.json create mode 100644 server/package.json create mode 100644 server/prisma/migrations/20230921191814_init/migration.sql create mode 100644 server/prisma/migrations/20231101001441_init/migration.sql create mode 100644 server/prisma/migrations/20231101195421_init/migration.sql create mode 100644 server/prisma/migrations/20231129012019_add/migration.sql create mode 100644 server/prisma/migrations/20240113013409_init/migration.sql create mode 100644 server/prisma/migrations/20240118201333_init/migration.sql create mode 100644 server/prisma/migrations/20240202002020_init/migration.sql create mode 100644 server/prisma/migrations/20240206181106_init/migration.sql create mode 100644 server/prisma/migrations/20240206211916_init/migration.sql create mode 100644 server/prisma/migrations/20240208224848_init/migration.sql create mode 100644 server/prisma/migrations/20240210004405_init/migration.sql create mode 100644 server/prisma/migrations/20240216214639_init/migration.sql create mode 100644 server/prisma/migrations/20240219211018_init/migration.sql create mode 100644 server/prisma/migrations/20240301002308_init/migration.sql create mode 100644 server/prisma/migrations/20240326231053_init/migration.sql create mode 100644 server/prisma/migrations/20240405015034_init/migration.sql create mode 100644 server/prisma/migrations/20240412183346_init/migration.sql create mode 100644 server/prisma/migrations/20240425004220_init/migration.sql create mode 100644 server/prisma/migrations/20240430230707_init/migration.sql create mode 100644 server/prisma/migrations/20240510032311_init/migration.sql create mode 100644 server/prisma/migrations/migration_lock.toml create mode 100644 server/prisma/schema.prisma create mode 100644 server/prisma/seed.js create mode 100644 server/storage/README.md create mode 100644 server/storage/assets/anything-llm.png create mode 100644 server/storage/models/.gitignore create mode 100644 server/storage/models/README.md create mode 100644 server/storage/models/downloaded/.placeholder create mode 100644 server/swagger/dark-swagger.css create mode 100644 server/swagger/index.css create mode 100644 server/swagger/index.js create mode 100644 server/swagger/init.js create mode 100644 server/swagger/openapi.json create mode 100644 server/swagger/utils.js create mode 100644 server/utils/AiProviders/anthropic/index.js create mode 100644 server/utils/AiProviders/azureOpenAi/index.js create mode 100644 server/utils/AiProviders/cohere/index.js create mode 100644 server/utils/AiProviders/gemini/index.js create mode 100644 server/utils/AiProviders/genericOpenAi/index.js create mode 100644 server/utils/AiProviders/groq/index.js create mode 100644 server/utils/AiProviders/huggingface/index.js create mode 100644 server/utils/AiProviders/koboldCPP/index.js create mode 100644 server/utils/AiProviders/lmStudio/index.js create mode 100644 server/utils/AiProviders/localAi/index.js create mode 100644 server/utils/AiProviders/mistral/index.js create mode 100644 server/utils/AiProviders/native/index.js create mode 100644 server/utils/AiProviders/ollama/README.md create mode 100644 server/utils/AiProviders/ollama/index.js create mode 100644 server/utils/AiProviders/openAi/index.js create mode 100644 server/utils/AiProviders/openRouter/index.js create mode 100644 server/utils/AiProviders/perplexity/index.js create mode 100644 server/utils/AiProviders/perplexity/models.js create mode 100644 server/utils/AiProviders/perplexity/scripts/.gitignore create mode 100644 server/utils/AiProviders/perplexity/scripts/chat_models.txt create mode 100644 server/utils/AiProviders/perplexity/scripts/parse.mjs create mode 100644 server/utils/AiProviders/textGenWebUI/index.js create mode 100644 server/utils/AiProviders/togetherAi/index.js create mode 100644 server/utils/AiProviders/togetherAi/models.js create mode 100644 server/utils/AiProviders/togetherAi/scripts/.gitignore create mode 100644 server/utils/AiProviders/togetherAi/scripts/chat_models.txt create mode 100644 server/utils/AiProviders/togetherAi/scripts/parse.mjs create mode 100644 server/utils/DocumentManager/index.js create mode 100644 server/utils/EmbeddingEngines/azureOpenAi/index.js create mode 100644 server/utils/EmbeddingEngines/cohere/index.js create mode 100644 server/utils/EmbeddingEngines/lmstudio/index.js create mode 100644 server/utils/EmbeddingEngines/localAi/index.js create mode 100644 server/utils/EmbeddingEngines/native/index.js create mode 100644 server/utils/EmbeddingEngines/ollama/index.js create mode 100644 server/utils/EmbeddingEngines/openAi/index.js create mode 100644 server/utils/PasswordRecovery/index.js create mode 100644 server/utils/TextSplitter/index.js create mode 100644 server/utils/TextToSpeech/elevenLabs/index.js create mode 100644 server/utils/TextToSpeech/index.js create mode 100644 server/utils/TextToSpeech/openAi/index.js create mode 100644 server/utils/agents/aibitat/error.js create mode 100644 server/utils/agents/aibitat/example/.gitignore create mode 100644 server/utils/agents/aibitat/example/beginner-chat.js create mode 100644 server/utils/agents/aibitat/example/blog-post-coding.js create mode 100644 server/utils/agents/aibitat/example/websocket/index.html create mode 100644 server/utils/agents/aibitat/example/websocket/websock-branding-collab.js create mode 100644 server/utils/agents/aibitat/example/websocket/websock-multi-turn-chat.js create mode 100644 server/utils/agents/aibitat/index.js create mode 100644 server/utils/agents/aibitat/plugins/chat-history.js create mode 100644 server/utils/agents/aibitat/plugins/cli.js create mode 100644 server/utils/agents/aibitat/plugins/file-history.js create mode 100644 server/utils/agents/aibitat/plugins/index.js create mode 100644 server/utils/agents/aibitat/plugins/memory.js create mode 100644 server/utils/agents/aibitat/plugins/rechart.js create mode 100644 server/utils/agents/aibitat/plugins/save-file-browser.js create mode 100644 server/utils/agents/aibitat/plugins/summarize.js create mode 100644 server/utils/agents/aibitat/plugins/web-browsing.js create mode 100644 server/utils/agents/aibitat/plugins/web-scraping.js create mode 100644 server/utils/agents/aibitat/plugins/websocket.js create mode 100644 server/utils/agents/aibitat/providers/ai-provider.js create mode 100644 server/utils/agents/aibitat/providers/anthropic.js create mode 100644 server/utils/agents/aibitat/providers/azure.js create mode 100644 server/utils/agents/aibitat/providers/genericOpenAi.js create mode 100644 server/utils/agents/aibitat/providers/groq.js create mode 100644 server/utils/agents/aibitat/providers/helpers/classes.js create mode 100644 server/utils/agents/aibitat/providers/helpers/untooled.js create mode 100644 server/utils/agents/aibitat/providers/index.js create mode 100644 server/utils/agents/aibitat/providers/koboldcpp.js create mode 100644 server/utils/agents/aibitat/providers/lmstudio.js create mode 100644 server/utils/agents/aibitat/providers/localai.js create mode 100644 server/utils/agents/aibitat/providers/mistral.js create mode 100644 server/utils/agents/aibitat/providers/ollama.js create mode 100644 server/utils/agents/aibitat/providers/openai.js create mode 100644 server/utils/agents/aibitat/providers/openrouter.js create mode 100644 server/utils/agents/aibitat/providers/perplexity.js create mode 100644 server/utils/agents/aibitat/providers/textgenwebui.js create mode 100644 server/utils/agents/aibitat/providers/togetherai.js create mode 100644 server/utils/agents/aibitat/utils/dedupe.js create mode 100644 server/utils/agents/aibitat/utils/summarize.js create mode 100644 server/utils/agents/defaults.js create mode 100644 server/utils/agents/index.js create mode 100644 server/utils/boot/index.js create mode 100644 server/utils/chats/agents.js create mode 100644 server/utils/chats/commands/reset.js create mode 100644 server/utils/chats/embed.js create mode 100644 server/utils/chats/index.js create mode 100644 server/utils/chats/stream.js create mode 100644 server/utils/collectorApi/index.js create mode 100644 server/utils/comKey/index.js create mode 100644 server/utils/database/index.js create mode 100644 server/utils/files/index.js create mode 100644 server/utils/files/logo.js create mode 100644 server/utils/files/multer.js create mode 100644 server/utils/files/pfp.js create mode 100644 server/utils/files/purgeDocument.js create mode 100644 server/utils/helpers/admin/index.js create mode 100644 server/utils/helpers/camelcase.js create mode 100644 server/utils/helpers/chat/convertTo.js create mode 100644 server/utils/helpers/chat/index.js create mode 100644 server/utils/helpers/chat/responses.js create mode 100644 server/utils/helpers/customModels.js create mode 100644 server/utils/helpers/index.js create mode 100644 server/utils/helpers/portAvailabilityChecker.js create mode 100644 server/utils/helpers/tiktoken.js create mode 100644 server/utils/helpers/updateENV.js create mode 100644 server/utils/http/index.js create mode 100644 server/utils/middleware/embedMiddleware.js create mode 100644 server/utils/middleware/multiUserProtected.js create mode 100644 server/utils/middleware/validApiKey.js create mode 100644 server/utils/middleware/validWorkspace.js create mode 100644 server/utils/middleware/validatedRequest.js create mode 100644 server/utils/prisma/PRISMA.md create mode 100644 server/utils/prisma/index.js create mode 100644 server/utils/prisma/migrateFromSqlite.js create mode 100644 server/utils/telemetry/index.js create mode 100644 server/utils/vectorDbProviders/astra/ASTRA_SETUP.md create mode 100644 server/utils/vectorDbProviders/astra/index.js create mode 100644 server/utils/vectorDbProviders/chroma/CHROMA_SETUP.md create mode 100644 server/utils/vectorDbProviders/chroma/index.js create mode 100644 server/utils/vectorDbProviders/lance/index.js create mode 100644 server/utils/vectorDbProviders/milvus/MILVUS_SETUP.md create mode 100644 server/utils/vectorDbProviders/milvus/index.js create mode 100644 server/utils/vectorDbProviders/pinecone/PINECONE_SETUP.md create mode 100644 server/utils/vectorDbProviders/pinecone/index.js create mode 100644 server/utils/vectorDbProviders/qdrant/QDRANT_SETUP.md create mode 100644 server/utils/vectorDbProviders/qdrant/index.js create mode 100644 server/utils/vectorDbProviders/weaviate/WEAVIATE_SETUP.md create mode 100644 server/utils/vectorDbProviders/weaviate/index.js create mode 100644 server/utils/vectorDbProviders/zilliz/index.js create mode 100644 server/yarn.lock create mode 100644 trainer/README.md create mode 100644 trainer/manage.py rename {llama2 => trainer}/requirements.txt (77%) create mode 100644 trainer/trainer_api/__init__.py create mode 100644 trainer/trainer_api/admin.py create mode 100644 trainer/trainer_api/apps.py create mode 100644 trainer/trainer_api/consts.py create mode 100644 trainer/trainer_api/finetune/README.md rename {llama2/script => trainer/trainer_api/finetune}/sft.py (74%) create mode 100644 trainer/trainer_api/migrations/__init__.py create mode 100644 trainer/trainer_api/models.py create mode 100644 trainer/trainer_api/scheduler/queue.py create mode 100644 trainer/trainer_api/scheduler/task.py create mode 100644 trainer/trainer_api/scheduler/thread_pool.py create mode 100644 trainer/trainer_api/scheduler/worker.py create mode 100644 trainer/trainer_api/tests.py create mode 100644 trainer/trainer_api/urls.py create mode 100644 trainer/trainer_api/views.py create mode 100644 trainer/trainer_router/__init__.py create mode 100644 trainer/trainer_router/asgi.py create mode 100644 trainer/trainer_router/settings.py create mode 100644 trainer/trainer_router/urls.py create mode 100644 trainer/trainer_router/wsgi.py diff --git a/.gitignore b/.gitignore index 0060036..41b12b5 100644 --- a/.gitignore +++ b/.gitignore @@ -163,4 +163,5 @@ cython_debug/ checkpoint_dir/ results/ llama-2-7b*/ -node_modules/ \ No newline at end of file +node_modules/ +logs/** */ \ No newline at end of file diff --git a/README.md b/README.md index c1364e2..5950d87 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,11 @@ There are still a lot to implement, so stay tuned. ## General Setup +- Pull submodules + ``` + git submodule update --init + ``` + - Install pytorch The easist way to do this is via conda. If you don't have conda, please go to [the installation guide](https://conda.io/projects/conda/en/latest/user-guide/install/index.html) diff --git a/client/package-lock.json b/client/package-lock.json deleted file mode 100644 index 3185954..0000000 --- a/client/package-lock.json +++ /dev/null @@ -1,6968 +0,0 @@ -{ - "name": "finetune_llms_frontend", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "finetune_llms_frontend", - "license": "MIT", - "dependencies": { - "@metamask/jazzicon": "^2.0.0", - "@microsoft/fetch-event-source": "^2.0.1", - "@phosphor-icons/react": "^2.0.13", - "@tremor/react": "^3.15.1", - "dompurify": "^3.0.8", - "file-saver": "^2.0.5", - "he": "^1.2.0", - "highlight.js": "^11.9.0", - "lodash.debounce": "^4.0.8", - "markdown-it": "^13.0.1", - "pluralize": "^8.0.0", - "react": "^18.2.0", - "react-device-detect": "^2.2.2", - "react-dom": "^18.2.0", - "react-dropzone": "^14.2.3", - "react-loading-skeleton": "^3.1.0", - "react-router-dom": "^6.3.0", - "react-tag-input-component": "^2.0.2", - "react-toastify": "^9.1.3", - "react-tooltip": "^5.25.2", - "recharts": "^2.12.5", - "recharts-to-png": "^2.3.1", - "text-case": "^1.0.9", - "truncate": "^3.0.0", - "uuid": "^9.0.0" - }, - "devDependencies": { - "@esbuild-plugins/node-globals-polyfill": "^0.1.1", - "@types/react": "^18.2.23", - "@types/react-dom": "^18.2.8", - "@types/react-router-dom": "^5.3.3", - "@vitejs/plugin-react": "^4.0.0-beta.0", - "autoprefixer": "^10.4.14", - "buffer": "^6.0.3", - "eslint": "^8.50.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-ft-flow": "^3.0.0", - "eslint-plugin-prettier": "^5.0.0", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-refresh": "^0.4.3", - "flow-bin": "^0.217.0", - "flow-remove-types": "^2.217.1", - "globals": "^13.21.0", - "hermes-eslint": "^0.15.0", - "postcss": "^8.4.23", - "prettier": "^3.0.3", - "rollup-plugin-visualizer": "^5.9.0", - "tailwindcss": "^3.3.1", - "typescript": "^5.4.5", - "vite": "^4.3.0" - } - }, - "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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", - "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.24.2", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", - "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz", - "integrity": "sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.24.5", - "@babel/helpers": "^7.24.5", - "@babel/parser": "^7.24.5", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.5", - "@babel/types": "^7.24.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz", - "integrity": "sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.5", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", - "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz", - "integrity": "sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.24.3", - "@babel/helper-simple-access": "^7.24.5", - "@babel/helper-split-export-declaration": "^7.24.5", - "@babel/helper-validator-identifier": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz", - "integrity": "sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz", - "integrity": "sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz", - "integrity": "sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", - "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz", - "integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.5.tgz", - "integrity": "sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==", - "dev": true, - "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.5", - "@babel/types": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz", - "integrity": "sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.24.5", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz", - "integrity": "sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.5.tgz", - "integrity": "sha512-RtCJoUO2oYrYwFPtR1/jkoBEcFuI1ae9a9IMxeyAVa3a1Ap4AnxmyIKG2b2FaJKqkidw/0cxRbWN+HOs6ZWd1w==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.1.tgz", - "integrity": "sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz", - "integrity": "sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.5.tgz", - "integrity": "sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.24.5", - "@babel/parser": "^7.24.5", - "@babel/types": "^7.24.5", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz", - "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.24.1", - "@babel/helper-validator-identifier": "^7.24.5", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@esbuild-plugins/node-globals-polyfill": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.1.1.tgz", - "integrity": "sha512-MR0oAA+mlnJWrt1RQVQ+4VYuRJW/P2YmRTv1AsplObyvuBMnPHiizUF95HHYiSsMGLhyGtWufaq2XQg6+iurBg==", - "dev": true, - "peerDependencies": { - "esbuild": "*" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.1.tgz", - "integrity": "sha512-O7yppwipkXvnEPjzkSXJRk2g4bS8sUx9p9oXHq9MU/U7lxUzZVsnFZMDTmeeX9bfQxrFcvOacl/ENgOh0WP9pA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.1.tgz", - "integrity": "sha512-hh3jKWikdnTtHCglDAeVO3Oyh8MaH8xZUaWMiCCvJ9/c3NtPqZq+CACOlGTxhddypXhl+8B45SeceYBfB/e8Ow==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.1.tgz", - "integrity": "sha512-jXhccq6es+onw7x8MxoFnm820mz7sGa9J14kLADclmiEUH4fyj+FjR6t0M93RgtlI/awHWhtF0Wgfhqgf9gDZA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.1.tgz", - "integrity": "sha512-NPObtlBh4jQHE01gJeucqEhdoD/4ya2owSIS8lZYS58aR0x7oZo9lB2lVFxgTANSa5MGCBeoQtr+yA9oKCGPvA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.1.tgz", - "integrity": "sha512-BLT7TDzqsVlQRmJfO/FirzKlzmDpBWwmCUlyggfzUwg1cAxVxeA4O6b1XkMInlxISdfPAOunV9zXjvh5x99Heg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.1.tgz", - "integrity": "sha512-D3h3wBQmeS/vp93O4B+SWsXB8HvRDwMyhTNhBd8yMbh5wN/2pPWRW5o/hM3EKgk9bdKd9594lMGoTCTiglQGRQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.1.tgz", - "integrity": "sha512-/uVdqqpNKXIxT6TyS/oSK4XE4xWOqp6fh4B5tgAwozkyWdylcX+W4YF2v6SKsL4wCQ5h1bnaSNjWPXG/2hp8AQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.1.tgz", - "integrity": "sha512-paAkKN1n1jJitw+dAoR27TdCzxRl1FOEITx3h201R6NoXUojpMzgMLdkXVgCvaCSCqwYkeGLoe9UVNRDKSvQgw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.1.tgz", - "integrity": "sha512-tRHnxWJnvNnDpNVnsyDhr1DIQZUfCXlHSCDohbXFqmg9W4kKR7g8LmA3kzcwbuxbRMKeit8ladnCabU5f2traA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.1.tgz", - "integrity": "sha512-G65d08YoH00TL7Xg4LaL3gLV21bpoAhQ+r31NUu013YB7KK0fyXIt05VbsJtpqh/6wWxoLJZOvQHYnodRrnbUQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.1.tgz", - "integrity": "sha512-tt/54LqNNAqCz++QhxoqB9+XqdsaZOtFD/srEhHYwBd3ZUOepmR1Eeot8bS+Q7BiEvy9vvKbtpHf+r6q8hF5UA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.1.tgz", - "integrity": "sha512-MhNalK6r0nZD0q8VzUBPwheHzXPr9wronqmZrewLfP7ui9Fv1tdPmg6e7A8lmg0ziQCziSDHxh3cyRt4YMhGnQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.1.tgz", - "integrity": "sha512-YCKVY7Zen5rwZV+nZczOhFmHaeIxR4Zn3jcmNH53LbgF6IKRwmrMywqDrg4SiSNApEefkAbPSIzN39FC8VsxPg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.1.tgz", - "integrity": "sha512-bw7bcQ+270IOzDV4mcsKAnDtAFqKO0jVv3IgRSd8iM0ac3L8amvCrujRVt1ajBTJcpDaFhIX+lCNRKteoDSLig==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.1.tgz", - "integrity": "sha512-ARmDRNkcOGOm1AqUBSwRVDfDeD9hGYRfkudP2QdoonBz1ucWVnfBPfy7H4JPI14eYtZruRSczJxyu7SRYDVOcg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.1.tgz", - "integrity": "sha512-o73TcUNMuoTZlhwFdsgr8SfQtmMV58sbgq6gQq9G1xUiYnHMTmJbwq65RzMx89l0iya69lR4bxBgtWiiOyDQZA==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.1.tgz", - "integrity": "sha512-da4/1mBJwwgJkbj4fMH7SOXq2zapgTo0LKXX1VUZ0Dxr+e8N0WbS80nSZ5+zf3lvpf8qxrkZdqkOqFfm57gXwA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.1.tgz", - "integrity": "sha512-CPWs0HTFe5woTJN5eKPvgraUoRHrCtzlYIAv9wBC+FAyagBSaf+UdZrjwYyTGnwPGkThV4OCI7XibZOnPvONVw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.1.tgz", - "integrity": "sha512-xxhTm5QtzNLc24R0hEkcH+zCx/o49AsdFZ0Cy5zSd/5tOj4X2g3/2AJB625NoadUuc4A8B3TenLJoYdWYOYCew==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.1.tgz", - "integrity": "sha512-CWibXszpWys1pYmbr9UiKAkX6x+Sxw8HWtw1dRESK1dLW5fFJ6rMDVw0o8MbadusvVQx1a8xuOxnHXT941Hp1A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.1.tgz", - "integrity": "sha512-jb5B4k+xkytGbGUS4T+Z89cQJ9DJ4lozGRSV+hhfmCPpfJ3880O31Q1srPCimm+V6UCbnigqD10EgDNgjvjerQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.1.tgz", - "integrity": "sha512-PgyFvjJhXqHn1uxPhyN1wZ6dIomKjiLUQh1LjFvjiV1JmnkZ/oMPrfeEAZg5R/1ftz4LZWZr02kefNIQ5SKREQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.1.tgz", - "integrity": "sha512-W9NttRZQR5ehAiqHGDnvfDaGmQOm6Fi4vSlce8mjM75x//XKuVAByohlEX6N17yZnVXxQFuh4fDRunP8ca6bfA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@floating-ui/core": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.1.tgz", - "integrity": "sha512-42UH54oPZHPdRHdw6BgoBD6cg/eVTmVrFcgeRDM3jbO7uxSoipVcmcIGFcA5jmOHO5apcyvBhkSKES3fQJnu7A==", - "dependencies": { - "@floating-ui/utils": "^0.2.0" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.5.tgz", - "integrity": "sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==", - "dependencies": { - "@floating-ui/core": "^1.0.0", - "@floating-ui/utils": "^0.2.0" - } - }, - "node_modules/@floating-ui/react": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.19.2.tgz", - "integrity": "sha512-JyNk4A0Ezirq8FlXECvRtQOX/iBe5Ize0W/pLkrZjfHW9GUV7Xnq6zm6fyZuQzaHHqEnVizmvlA96e1/CkZv+w==", - "dependencies": { - "@floating-ui/react-dom": "^1.3.0", - "aria-hidden": "^1.1.3", - "tabbable": "^6.0.1" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@floating-ui/react-dom": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-1.3.0.tgz", - "integrity": "sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==", - "dependencies": { - "@floating-ui/dom": "^1.2.1" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.2.tgz", - "integrity": "sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==" - }, - "node_modules/@headlessui/react": { - "version": "1.7.19", - "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.19.tgz", - "integrity": "sha512-Ll+8q3OlMJfJbAKM/+/Y2q6PPYbryqNTXDbryx7SXLIDamkF6iQFbriYHga0dY44PvDhvvBWCx1Xj4U5+G4hOw==", - "dependencies": { - "@tanstack/react-virtual": "^3.0.0-beta.60", - "client-only": "^0.0.1" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": "^16 || ^17 || ^18", - "react-dom": "^16 || ^17 || ^18" - } - }, - "node_modules/@headlessui/tailwindcss": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@headlessui/tailwindcss/-/tailwindcss-0.2.0.tgz", - "integrity": "sha512-fpL830Fln1SykOCboExsWr3JIVeQKieLJ3XytLe/tt1A0XzqUthOftDmjcCYLW62w7mQI7wXcoPXr3tZ9QfGxw==", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "tailwindcss": "^3.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "dev": true - }, - "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==", - "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/@isaacs/cliui/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==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/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==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/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==" - }, - "node_modules/@isaacs/cliui/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==", - "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/@isaacs/cliui/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==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/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==", - "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/@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==", - "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==", - "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==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "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==", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@metamask/jazzicon": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@metamask/jazzicon/-/jazzicon-2.0.0.tgz", - "integrity": "sha512-7M+WSZWKcQAo0LEhErKf1z+D3YX0tEDAcGvcKbDyvDg34uvgeKR00mFNIYwAhdAS9t8YXxhxZgsrRBBg6X8UQg==", - "dependencies": { - "color": "^0.11.3", - "mersenne-twister": "^1.1.0" - } - }, - "node_modules/@microsoft/fetch-event-source": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@microsoft/fetch-event-source/-/fetch-event-source-2.0.1.tgz", - "integrity": "sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==" - }, - "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==", - "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==", - "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==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@phosphor-icons/react": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@phosphor-icons/react/-/react-2.1.5.tgz", - "integrity": "sha512-B7vRm/w+P/+eavWZP5CB5Ul0ffK4Y7fpd/auWKuGvm+8pVgAJzbOK8O0s+DqzR+TwWkh5pHtJTuoAtaSvgCPzg==", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": ">= 16.8", - "react-dom": ">= 16.8" - } - }, - "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==", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/@remix-run/router": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.16.1.tgz", - "integrity": "sha512-es2g3dq6Nb07iFxGk5GuHN20RwBZOsuDQN7izWIisUcv9r+d2C5jQxqmgkdebXgReWfiyUabcki6Fg77mSNrig==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@tanstack/react-virtual": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.5.0.tgz", - "integrity": "sha512-rtvo7KwuIvqK9zb0VZ5IL7fiJAEnG+0EiFZz8FUOs+2mhGqdGmjKIaT1XU7Zq0eFqL0jonLlhbayJI/J2SA/Bw==", - "dependencies": { - "@tanstack/virtual-core": "3.5.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@tanstack/virtual-core": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.5.0.tgz", - "integrity": "sha512-KnPRCkQTyqhanNC0K63GBG3wA8I+D1fQuVnAvcBF8f13akOKeQp1gSbu6f77zCxhEk727iV5oQnbHLYzHrECLg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tremor/react": { - "version": "3.16.2", - "resolved": "https://registry.npmjs.org/@tremor/react/-/react-3.16.2.tgz", - "integrity": "sha512-Isdc+Sf4WHlnrAAO8Hk/nK84HiXzCZvb6ZFRHrzOkF+APm6nDhvKPRorXcXZ2BKSS5T5L0QVsid5fIxly8kRdA==", - "dependencies": { - "@floating-ui/react": "^0.19.2", - "@headlessui/react": "^1.7.19", - "@headlessui/tailwindcss": "^0.2.0", - "date-fns": "^2.30.0", - "react-day-picker": "^8.9.1", - "react-transition-state": "^2.1.1", - "recharts": "^2.12.6", - "tailwind-merge": "^1.14.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": ">=16.6.0" - } - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", - "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/d3-array": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz", - "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==" - }, - "node_modules/@types/d3-color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", - "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==" - }, - "node_modules/@types/d3-ease": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", - "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==" - }, - "node_modules/@types/d3-interpolate": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", - "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", - "dependencies": { - "@types/d3-color": "*" - } - }, - "node_modules/@types/d3-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz", - "integrity": "sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==" - }, - "node_modules/@types/d3-scale": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz", - "integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==", - "dependencies": { - "@types/d3-time": "*" - } - }, - "node_modules/@types/d3-shape": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.6.tgz", - "integrity": "sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==", - "dependencies": { - "@types/d3-path": "*" - } - }, - "node_modules/@types/d3-time": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz", - "integrity": "sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==" - }, - "node_modules/@types/d3-timer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", - "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==" - }, - "node_modules/@types/history": { - "version": "4.7.11", - "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", - "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", - "dev": true - }, - "node_modules/@types/prop-types": { - "version": "15.7.12", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", - "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", - "dev": true - }, - "node_modules/@types/react": { - "version": "18.3.2", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.2.tgz", - "integrity": "sha512-Btgg89dAnqD4vV7R3hlwOxgqobUQKgx3MmrQRi0yYbs/P0ym8XozIAlkqVilPqHQwXs4e9Tf63rrCgl58BcO4w==", - "dev": true, - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", - "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", - "dev": true, - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/react-router": { - "version": "5.1.20", - "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", - "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", - "dev": true, - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*" - } - }, - "node_modules/@types/react-router-dom": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", - "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", - "dev": true, - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "*" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true - }, - "node_modules/@vitejs/plugin-react": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz", - "integrity": "sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.23.5", - "@babel/plugin-transform-react-jsx-self": "^7.23.3", - "@babel/plugin-transform-react-jsx-source": "^7.23.3", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.14.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0" - } - }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "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==" - }, - "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==", - "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==" - }, - "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==" - }, - "node_modules/aria-hidden": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", - "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", - "dependencies": { - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.toreversed": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", - "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", - "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.1.0", - "es-shim-unscopables": "^1.0.2" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/attr-accept": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz", - "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==" - }, - "node_modules/base64-arraybuffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", - "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "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" - } - ] - }, - "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==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "dev": true, - "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" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "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" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "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==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001617", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001617.tgz", - "integrity": "sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA==", - "dev": true, - "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" - } - ] - }, - "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==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chokidar": { - "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" - }, - "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==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/classnames": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", - "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" - }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/color": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", - "integrity": "sha512-Ajpjd8asqZ6EdxQeqGzU5WBhhTfJ/0cA4Wlbre7e5vXfmDSmda7Ov6jeKoru+b0vHcb1CqvuroTHp5zIWzhVMA==", - "dependencies": { - "clone": "^1.0.2", - "color-convert": "^1.3.0", - "color-string": "^0.3.0" - } - }, - "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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "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==" - }, - "node_modules/color-string": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", - "integrity": "sha512-sz29j1bmSDfoAxKIEU6zwoIZXN6BrFbAMIhfYCNyiZXBDuU/aiHlN84lp/xDzL2ubyFhLDobHIlU1X70XRrMDA==", - "dependencies": { - "color-name": "^1.0.0" - } - }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": 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==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-line-break": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", - "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", - "dependencies": { - "utrie": "^1.0.2" - } - }, - "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==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" - }, - "node_modules/d3-array": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", - "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", - "dependencies": { - "internmap": "1 - 2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-color": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-ease": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", - "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-format": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", - "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", - "dependencies": { - "d3-color": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", - "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-scale": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", - "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", - "dependencies": { - "d3-array": "2.10.0 - 3", - "d3-format": "1 - 3", - "d3-interpolate": "1.2.0 - 3", - "d3-time": "2.1.1 - 3", - "d3-time-format": "2 - 4" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-shape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", - "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", - "dependencies": { - "d3-path": "^3.1.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-time": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", - "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", - "dependencies": { - "d3-array": "2 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-time-format": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", - "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", - "dependencies": { - "d3-time": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-timer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "dependencies": { - "@babel/runtime": "^7.21.0" - }, - "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js-light": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", - "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==" - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "node_modules/dompurify": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.3.tgz", - "integrity": "sha512-5sOWYSNPaxz6o2MUPvtyxTTqR4D3L77pr5rUQoWgD5ROQtVIZQgJkXbo1DLlK3vj11YGw5+LnF4SYti4gZmwng==" - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "node_modules/electron-to-chromium": { - "version": "1.4.763", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.763.tgz", - "integrity": "sha512-k4J8NrtJ9QrvHLRo8Q18OncqBCB7tIUyqxRcJnlonQ0ioHKYB988GcDFF3ZePmnb8eHEopDs/wPHR/iGAFgoUQ==", - "dev": true - }, - "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==" - }, - "node_modules/entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/es-abstract": { - "version": "1.23.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", - "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", - "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.4", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/esbuild": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.1.tgz", - "integrity": "sha512-GPqx+FX7mdqulCeQ4TsGZQ3djBJkx5k7zBGtqt9ycVlWNg8llJ4RO9n2vciu8BN2zAEs6lPbPl0asZsAh7oWzg==", - "dev": true, - "hasInstallScript": true, - "peer": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.1", - "@esbuild/android-arm": "0.21.1", - "@esbuild/android-arm64": "0.21.1", - "@esbuild/android-x64": "0.21.1", - "@esbuild/darwin-arm64": "0.21.1", - "@esbuild/darwin-x64": "0.21.1", - "@esbuild/freebsd-arm64": "0.21.1", - "@esbuild/freebsd-x64": "0.21.1", - "@esbuild/linux-arm": "0.21.1", - "@esbuild/linux-arm64": "0.21.1", - "@esbuild/linux-ia32": "0.21.1", - "@esbuild/linux-loong64": "0.21.1", - "@esbuild/linux-mips64el": "0.21.1", - "@esbuild/linux-ppc64": "0.21.1", - "@esbuild/linux-riscv64": "0.21.1", - "@esbuild/linux-s390x": "0.21.1", - "@esbuild/linux-x64": "0.21.1", - "@esbuild/netbsd-x64": "0.21.1", - "@esbuild/openbsd-x64": "0.21.1", - "@esbuild/sunos-x64": "0.21.1", - "@esbuild/win32-arm64": "0.21.1", - "@esbuild/win32-ia32": "0.21.1", - "@esbuild/win32-x64": "0.21.1" - } - }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-ft-flow": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/eslint-plugin-ft-flow/-/eslint-plugin-ft-flow-3.0.9.tgz", - "integrity": "sha512-m3ZL33yntMILOA5jRxVtUROJxmvGQcIgUJnWqjC7QsQbU+KtntRLaBKaDb7NeUmRioDq+QgI1fdaAEFpOKitgA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" - }, - "engines": { - "node": ">=12.22.0" - }, - "peerDependencies": { - "eslint": "^8.56.0", - "hermes-eslint": ">=0.15.0" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", - "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.8.6" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": "*", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.34.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", - "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlast": "^1.2.4", - "array.prototype.flatmap": "^1.3.2", - "array.prototype.toreversed": "^1.1.2", - "array.prototype.tosorted": "^1.1.3", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.17", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7", - "object.hasown": "^1.1.3", - "object.values": "^1.1.7", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.10" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", - "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.7.tgz", - "integrity": "sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw==", - "dev": true, - "peerDependencies": { - "eslint": ">=7" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/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==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/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==", - "dev": true - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/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==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true - }, - "node_modules/fast-equals": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.0.1.tgz", - "integrity": "sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==", - "engines": { - "node": ">=6.0.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==", - "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==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-saver": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", - "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" - }, - "node_modules/file-selector": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz", - "integrity": "sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==", - "dependencies": { - "tslib": "^2.4.0" - }, - "engines": { - "node": ">= 12" - } - }, - "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==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true - }, - "node_modules/flow-bin": { - "version": "0.217.2", - "resolved": "https://registry.npmjs.org/flow-bin/-/flow-bin-0.217.2.tgz", - "integrity": "sha512-fk4NcfybYjzlww1sEsfk71nqXvonAYpMRFEjmZxibDWWBiaw8DGmqXWZ7XzSunVB15VkJfOstn/sYP1EYPPyWg==", - "dev": true, - "bin": { - "flow": "cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/flow-remove-types": { - "version": "2.236.0", - "resolved": "https://registry.npmjs.org/flow-remove-types/-/flow-remove-types-2.236.0.tgz", - "integrity": "sha512-EVg9IM7QKZsFJq8VSYFYslPR/hrtnD0pw0z/dndAuTDkhfCOQSjiJNjZhd3mTizZ4UFrysTNNcv/QDF3a/ZnTw==", - "dev": true, - "dependencies": { - "hermes-parser": "0.21.0", - "pirates": "^3.0.2", - "vlq": "^0.2.1" - }, - "bin": { - "flow-node": "flow-node", - "flow-remove-types": "flow-remove-types" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true, - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "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==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "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==", - "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==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "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" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "bin": { - "he": "bin/he" - } - }, - "node_modules/hermes-eslint": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/hermes-eslint/-/hermes-eslint-0.15.1.tgz", - "integrity": "sha512-ArfT3oASsYOkCa29GOw34GR+kpHXqrhhYgXDadK3daJBejrMPbGlUbBTzTlGBuz1CGLxxdC5lwwv3OegPJzfDA==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "hermes-estree": "0.15.1", - "hermes-parser": "0.15.1" - } - }, - "node_modules/hermes-eslint/node_modules/hermes-parser": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.15.1.tgz", - "integrity": "sha512-38Re105dr4UZ0/EPRApWxtIOWWynQpdOYWO+7nFO8ADd2mXdaHKMCFAxIjkqACa1GLrAtrXqqaJdUYHi/QUbkA==", - "dev": true, - "dependencies": { - "hermes-estree": "0.15.1" - } - }, - "node_modules/hermes-estree": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.15.1.tgz", - "integrity": "sha512-XrQH+GATG/8DYbzlrVs6Vf/EDxLhYEHXvzt/Xve4b/NXXpsNLDN8bdBEKp5z0XeOMoL1XMEexxIIf1a5bH6kYA==", - "dev": true - }, - "node_modules/hermes-parser": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.21.0.tgz", - "integrity": "sha512-YKRYs6ufKDQ1VWMbnLBrsGxA7xRDhgrlrMoMD1jWNoV0NiIWVRM5OuRfGXsGj2tQhOngH/6VKVjeMkuwKyqF+w==", - "dev": true, - "dependencies": { - "hermes-estree": "0.21.0" - } - }, - "node_modules/hermes-parser/node_modules/hermes-estree": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.21.0.tgz", - "integrity": "sha512-nFKvwIBMg+u/Ofbc/jNuFUVu8vKb2gxkl0+wCgKootBLGbDWeZzznDnbaDpYvJKTRw2NlZk7oan3yucTGfo1aA==", - "dev": true - }, - "node_modules/highlight.js": { - "version": "11.9.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz", - "integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/html2canvas": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", - "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", - "dependencies": { - "css-line-break": "^2.1.0", - "text-segmentation": "^1.0.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "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" - } - ] - }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "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==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/internmap": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", - "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", - "engines": { - "node": ">=12" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", - "dev": true, - "dependencies": { - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", - "dev": true, - "dependencies": { - "which-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/iterator.prototype": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", - "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", - "dev": true, - "dependencies": { - "define-properties": "^1.2.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "reflect.getprototypeof": "^1.0.4", - "set-function-name": "^2.0.1" - } - }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", - "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==" - }, - "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==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "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==" - }, - "node_modules/linkify-it": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz", - "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==", - "dependencies": { - "uc.micro": "^1.0.1" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/markdown-it": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.2.tgz", - "integrity": "sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==", - "dependencies": { - "argparse": "^2.0.1", - "entities": "~3.0.1", - "linkify-it": "^4.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "bin": { - "markdown-it": "bin/markdown-it.js" - } - }, - "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/mersenne-twister": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mersenne-twister/-/mersenne-twister-1.1.0.tgz", - "integrity": "sha512-mUYWsMKNrm4lfygPkL3OfGzOPTR2DBlTkBNHM//F6hGp8cLThY897crAlk3/Jo17LEOOjQUrNAx6DvgO77QJkA==" - }, - "node_modules/micromatch": { - "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" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minipass": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.1.tgz", - "integrity": "sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/mz": { - "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" - } - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha512-JMaRS9L4wSRIR+6PTVEikTrq/lMGEZR43a48ETeilY0Q0iMwVnccMFrUM1k+tNzmYuIU0Vh710bCUqHX+/+ctQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "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==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", - "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.hasown": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", - "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", - "dev": true, - "dependencies": { - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", - "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dev": true, - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "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==" - }, - "node_modules/path-scurry": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.0.tgz", - "integrity": "sha512-LNHTaVkzaYaLGlO+0u3rQTz7QrHTFOuKyba9JMTQutkmtNew8dw8wOD7mTU/5fCPZzCWpfW0XnQKzY61P0aTaw==", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-3.0.2.tgz", - "integrity": "sha512-c5CgUJq6H2k6MJz72Ak1F5sN9n9wlSlJyEnwvpm9/y3WB4E3pHBDT2c6PEiS1vyJvq2bUxUAIu0EGf8Cx4Ic7Q==", - "dev": true, - "dependencies": { - "node-modules-regexp": "^1.0.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", - "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" - } - ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "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==", - "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-import/node_modules/resolve": { - "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" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "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==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "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.1", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", - "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", - "dependencies": { - "postcss-selector-parser": "^6.0.11" - }, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", - "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==" - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", - "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-day-picker": { - "version": "8.10.1", - "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-8.10.1.tgz", - "integrity": "sha512-TMx7fNbhLk15eqcMt+7Z7S2KF7mfTId/XJDjKE8f+IUcFn0l08/kI4FiYTL/0yuOLmEcbR4Fwe3GJf/NiiMnPA==", - "funding": { - "type": "individual", - "url": "https://github.com/sponsors/gpbl" - }, - "peerDependencies": { - "date-fns": "^2.28.0 || ^3.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/react-device-detect": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/react-device-detect/-/react-device-detect-2.2.3.tgz", - "integrity": "sha512-buYY3qrCnQVlIFHrC5UcUoAj7iANs/+srdkwsnNjI7anr3Tt7UY6MqNxtMLlr0tMBied0O49UZVK8XKs3ZIiPw==", - "dependencies": { - "ua-parser-js": "^1.0.33" - }, - "peerDependencies": { - "react": ">= 0.14.0", - "react-dom": ">= 0.14.0" - } - }, - "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" - }, - "peerDependencies": { - "react": "^18.3.1" - } - }, - "node_modules/react-dropzone": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz", - "integrity": "sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==", - "dependencies": { - "attr-accept": "^2.2.2", - "file-selector": "^0.6.0", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">= 10.13" - }, - "peerDependencies": { - "react": ">= 16.8 || 18.0.0" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/react-loading-skeleton": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/react-loading-skeleton/-/react-loading-skeleton-3.4.0.tgz", - "integrity": "sha512-1oJEBc9+wn7BbkQQk7YodlYEIjgeR+GrRjD+QXkVjwZN7LGIcAFHrx4NhT7UHGBxNY1+zax3c+Fo6XQM4R7CgA==", - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/react-refresh": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", - "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-router": { - "version": "6.23.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.23.1.tgz", - "integrity": "sha512-fzcOaRF69uvqbbM7OhvQyBTFDVrrGlsFdS3AL+1KfIBtGETibHzi3FkoTRyiDJnWNc2VxrfvR+657ROHjaNjqQ==", - "dependencies": { - "@remix-run/router": "1.16.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8" - } - }, - "node_modules/react-router-dom": { - "version": "6.23.1", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.23.1.tgz", - "integrity": "sha512-utP+K+aSTtEdbWpC+4gxhdlPFwuEfDKq8ZrPFU65bbRJY+l706qjR7yaidBpo3MSeA/fzwbXWbKBI6ftOnP3OQ==", - "dependencies": { - "@remix-run/router": "1.16.1", - "react-router": "6.23.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" - } - }, - "node_modules/react-smooth": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-4.0.1.tgz", - "integrity": "sha512-OE4hm7XqR0jNOq3Qmk9mFLyd6p2+j6bvbPJ7qlB7+oo0eNcL2l7WQzG6MBnT3EXY6xzkLMUBec3AfewJdA0J8w==", - "dependencies": { - "fast-equals": "^5.0.1", - "prop-types": "^15.8.1", - "react-transition-group": "^4.4.5" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/react-tag-input-component": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/react-tag-input-component/-/react-tag-input-component-2.0.2.tgz", - "integrity": "sha512-dydI9luVwwv9vrjE5u1TTnkcOVkOVL6mhFti8r6hLi78V2F2EKWQOLptURz79UYbDHLSk6tnbvGl8FE+sMpADg==", - "peerDependencies": { - "react": "^16 || ^17 || ^18", - "react-dom": "^16 || ^17 || ^18" - } - }, - "node_modules/react-toastify": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-9.1.3.tgz", - "integrity": "sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg==", - "dependencies": { - "clsx": "^1.1.1" - }, - "peerDependencies": { - "react": ">=16", - "react-dom": ">=16" - } - }, - "node_modules/react-tooltip": { - "version": "5.26.4", - "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-5.26.4.tgz", - "integrity": "sha512-5WyDrsfw1+6qNVSr3IjqElqJ+cCwE8+44b+HpJ8qRLv7v0a3mcKf8wvv+NfgALFS6QpksGFqTLV2JQ60c+okZQ==", - "dependencies": { - "@floating-ui/dom": "^1.6.1", - "classnames": "^2.3.0" - }, - "peerDependencies": { - "react": ">=16.14.0", - "react-dom": ">=16.14.0" - } - }, - "node_modules/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", - "dependencies": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": ">=16.6.0", - "react-dom": ">=16.6.0" - } - }, - "node_modules/react-transition-state": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/react-transition-state/-/react-transition-state-2.1.1.tgz", - "integrity": "sha512-kQx5g1FVu9knoz1T1WkapjUgFz08qQ/g1OmuWGi3/AoEFfS0kStxrPlZx81urjCXdz2d+1DqLpU6TyLW/Ro04Q==", - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.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==", - "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==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/recharts": { - "version": "2.12.7", - "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.12.7.tgz", - "integrity": "sha512-hlLJMhPQfv4/3NBSAyq3gzGg4h2v69RJh6KU7b3pXYNNAELs9kEoXOjbkxdXpALqKBoVmVptGfLpxdaVYqjmXQ==", - "dependencies": { - "clsx": "^2.0.0", - "eventemitter3": "^4.0.1", - "lodash": "^4.17.21", - "react-is": "^16.10.2", - "react-smooth": "^4.0.0", - "recharts-scale": "^0.4.4", - "tiny-invariant": "^1.3.1", - "victory-vendor": "^36.6.8" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": "^16.0.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/recharts-scale": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.5.tgz", - "integrity": "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==", - "dependencies": { - "decimal.js-light": "^2.4.1" - } - }, - "node_modules/recharts-to-png": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/recharts-to-png/-/recharts-to-png-2.3.2.tgz", - "integrity": "sha512-3A9V5zt+kus/LDuoum5c27Cr7xXGlWZkoh+QaYRmAiyZk3YAsIrf5lKRQjJ6CNk09HT9I6nHjcYFIPKqEt9VDA==", - "dependencies": { - "html2canvas": "^1.2.0" - }, - "peerDependencies": { - "react": ">=16.8.3", - "react-dom": ">=16.8.3", - "recharts": ">=2.9.0" - }, - "peerDependenciesMeta": { - "recharts": { - "optional": true - } - } - }, - "node_modules/recharts/node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", - "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.1", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", - "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.6", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "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==", - "dev": true, - "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==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "3.29.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", - "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/rollup-plugin-visualizer": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz", - "integrity": "sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==", - "dev": true, - "dependencies": { - "open": "^8.4.0", - "picomatch": "^2.3.1", - "source-map": "^0.7.4", - "yargs": "^17.5.1" - }, - "bin": { - "rollup-plugin-visualizer": "dist/bin/cli.js" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "rollup": "2.x || 3.x || 4.x" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "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==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-regex": "^1.1.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "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==", - "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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string-natural-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", - "dev": true - }, - "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==", - "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": { - "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==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", - "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "regexp.prototype.flags": "^1.5.2", - "set-function-name": "^2.0.2", - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "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/brace-expansion": { - "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" - } - }, - "node_modules/sucrase/node_modules/glob": { - "version": "10.3.14", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.14.tgz", - "integrity": "sha512-4fkAqu93xe9Mk7le9v0y3VrPDqLKHarNi2s4Pv7f2yOvfhWfhc7hRPHC/JyqMqb8B/Dt/eGS4n7ykwf3fOsl8g==", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", - "minimatch": "^9.0.1", - "minipass": "^7.0.4", - "path-scurry": "^1.11.0" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sucrase/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sucrase/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==", - "engines": { - "node": ">= 6" - } - }, - "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==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/synckit": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", - "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", - "dev": true, - "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/tabbable": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", - "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" - }, - "node_modules/tailwind-merge": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-1.14.0.tgz", - "integrity": "sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/dcastil" - } - }, - "node_modules/tailwindcss": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", - "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", - "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/tailwindcss/node_modules/resolve": { - "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" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/text-camel-case": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/text-camel-case/-/text-camel-case-1.0.2.tgz", - "integrity": "sha512-s1LRJevKMtwo2iV80ZXuGHVJsK8wCojivh0TyiX6DnvMoxBubCuBXx+YE47E4J0JMvLfqrpV+8SP/tEAoZ0/ZA==", - "dependencies": { - "text-pascal-case": "^1.0.3" - } - }, - "node_modules/text-capital-case": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/text-capital-case/-/text-capital-case-1.0.2.tgz", - "integrity": "sha512-2WhSzwB8TjsaXix85xv2tdViUwBui8LMrIyi+pZrJTXAHKv1Cn9wN/b+uOZnwG4Yn32yiTBt/bZGdKNsHgm+bQ==", - "dependencies": { - "text-no-case": "^1.0.2", - "text-upper-case-first": "^1.0.2" - } - }, - "node_modules/text-case": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/text-case/-/text-case-1.0.9.tgz", - "integrity": "sha512-WFYXrWPsMac/GfnQ9P9X6XhESQiyKKfNlhlxzXe2mSGKxwFe5ThqXA89JVZ1ZzcBWmJ6TFDa8iM6Vw54OqjiWQ==", - "dependencies": { - "text-camel-case": "^1.0.2", - "text-capital-case": "^1.0.2", - "text-constant-case": "^1.0.2", - "text-dot-case": "^1.0.2", - "text-header-case": "^1.0.2", - "text-is-lower-case": "^1.0.2", - "text-is-upper-case": "^1.0.2", - "text-lower-case": "^1.0.4", - "text-lower-case-first": "^1.0.2", - "text-no-case": "^1.0.2", - "text-param-case": "^1.0.2", - "text-pascal-case": "^1.0.3", - "text-path-case": "^1.0.2", - "text-sentence-case": "^1.0.2", - "text-snake-case": "^1.0.2", - "text-swap-case": "^1.0.2", - "text-title-case": "^1.0.2", - "text-upper-case": "^1.0.2", - "text-upper-case-first": "^1.0.2" - } - }, - "node_modules/text-constant-case": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/text-constant-case/-/text-constant-case-1.0.2.tgz", - "integrity": "sha512-vfUdPIEADAqllvhZe2tb/lxO9mG1fEjAcGj7iipcQNg9rqc5G38HN+FHyKzmm3dId+fO+H+8CaVvFwzxq3UAQg==", - "dependencies": { - "text-no-case": "^1.0.2", - "text-upper-case": "^1.0.2" - } - }, - "node_modules/text-dot-case": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/text-dot-case/-/text-dot-case-1.0.2.tgz", - "integrity": "sha512-J361Ss+ib3AmN+Q664q+H791OIJnnUvVXVNpZypWjp58b0z2moz31PCz4RLxSftyMDb+3jYRU06skDEQBIWyiQ==", - "dependencies": { - "text-no-case": "^1.0.2" - } - }, - "node_modules/text-header-case": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/text-header-case/-/text-header-case-1.0.2.tgz", - "integrity": "sha512-gl3AOpc19D9nFtgQoMpVXToF19/ssuYk80Hj3n7WAZInx9xr/C8DkfjUzj/u7xTSVXyN6CNiodhrb8z2mZCKfw==", - "dependencies": { - "text-capital-case": "^1.0.2" - } - }, - "node_modules/text-is-lower-case": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/text-is-lower-case/-/text-is-lower-case-1.0.2.tgz", - "integrity": "sha512-vVJ2egidKYFGzZBoh+LIpIptdVn8gxk0iv9ZH9ufoBdlirIE/OtJSYLheubX0Q4hSyWd71sEXib40Vxq+WIn+A==" - }, - "node_modules/text-is-upper-case": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/text-is-upper-case/-/text-is-upper-case-1.0.2.tgz", - "integrity": "sha512-mv0GH/4c0CpA8/wXyP2DWV98btTSkh0Hh96xtM/rK1D9FLcb4yy0OnZFfatTXuEMUJlxyXdM/Tt89PjWHLDafg==" - }, - "node_modules/text-lower-case": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/text-lower-case/-/text-lower-case-1.0.4.tgz", - "integrity": "sha512-+JugqznmIplbHfUt7YaaQyXbNlG9smzQkFm2W/LWXhM6RtiwAeaXKHNfabd4OQ3hLA17n+Kv7vpjWlyw95Lmow==" - }, - "node_modules/text-lower-case-first": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/text-lower-case-first/-/text-lower-case-first-1.0.2.tgz", - "integrity": "sha512-BoCe3/y6ALSPyt4gh38HDY61twGr28IhjtHjxtaP6IfNb2U0vLnx2EB9pgGdvWC8N/gx3RX82hzPescxPPhR6A==" - }, - "node_modules/text-no-case": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/text-no-case/-/text-no-case-1.0.2.tgz", - "integrity": "sha512-D7x7uUw99DP5P28e6uugAC6JXTQDM/wWoVC0I4XSh7IdsFRYMpOHo97ARIepWY+icrBq/ewjRkcTSfbGDV6XgA==", - "dependencies": { - "text-lower-case": "^1.0.4" - } - }, - "node_modules/text-param-case": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/text-param-case/-/text-param-case-1.0.2.tgz", - "integrity": "sha512-expscKlHQDu/NGtIuklO278FPcnP3MPzDoTYlGl0S8kA/Zm/wOIAvy/ULpetdvCuZbLDIVQOtX9eWAyMSoWbkw==", - "dependencies": { - "text-dot-case": "^1.0.2" - } - }, - "node_modules/text-pascal-case": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/text-pascal-case/-/text-pascal-case-1.0.3.tgz", - "integrity": "sha512-aiIz2RMA8D/j7TsfwpZVBDXUgXAcl2m1vGKfhpDQTQ7UnbVfI7B6BUQwi6FdDKSO/Z2rVv+JxcaFN4al+TnEsQ==", - "dependencies": { - "text-no-case": "^1.0.2" - } - }, - "node_modules/text-path-case": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/text-path-case/-/text-path-case-1.0.2.tgz", - "integrity": "sha512-dCFWFqJSAYE8JGIWfA8TyeBUoxnSw/fUtRFgQH7PNJ+9YqLcuq3VrDB5i9iOPmoKphY1HnRGp4cbTDF6yGjlcQ==", - "dependencies": { - "text-dot-case": "^1.0.2" - } - }, - "node_modules/text-segmentation": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", - "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", - "dependencies": { - "utrie": "^1.0.2" - } - }, - "node_modules/text-sentence-case": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/text-sentence-case/-/text-sentence-case-1.0.2.tgz", - "integrity": "sha512-GmZbfwaF3u/OEZACC5gMP9XvgwWa9yzGQ99JL74yAuUWWtHaIs40IMGm6lC8ZNgEdG4sSV0JYPf7rFTK2VZOZg==", - "dependencies": { - "text-no-case": "^1.0.2", - "text-upper-case-first": "^1.0.2" - } - }, - "node_modules/text-snake-case": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/text-snake-case/-/text-snake-case-1.0.2.tgz", - "integrity": "sha512-Uv58tiL7yHoBk/9uqDJsp4+hYwXlH7lvyVVsR/09DJ1nlhG1qVAZD5hPY5L6LaAItVmaeJ460iO9Fc09fQ/zLg==", - "dependencies": { - "text-dot-case": "^1.0.2" - } - }, - "node_modules/text-swap-case": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/text-swap-case/-/text-swap-case-1.0.2.tgz", - "integrity": "sha512-kJ40VU8PatEAF7b3fxs8a0vK4ByGl1W6sKcu+lARZBoUmChCtNXLRJY8vl3kls+EkWT37iAXSQNVeWoWwbkQ2g==" - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/text-title-case": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/text-title-case/-/text-title-case-1.0.2.tgz", - "integrity": "sha512-GyS5mayONs9ZZHMYDjZm6kxfoLOq7KiacC+DasUXrHzlzzQViUaNH0yvBdLtc2Kjs4CVGDDjipLVCJGLJ7bOfA==" - }, - "node_modules/text-upper-case": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/text-upper-case/-/text-upper-case-1.0.2.tgz", - "integrity": "sha512-1YT5Y+gCOskZOGPVQW2xAGsSDlItHJoFVCVviObJAPv7Qdedf8sCHCKrz0hG15uzF8IQsiJz5PJZUMNwpuNmmA==" - }, - "node_modules/text-upper-case-first": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/text-upper-case-first/-/text-upper-case-first-1.0.2.tgz", - "integrity": "sha512-/8IAqNltnOZixqKMFn34NQoHcq5Mek/zqXzMQyLeY/5oQK+3ibYseRDHNnrdqx2r8Uiyf/KyVe8PHQFL+yAtlg==" - }, - "node_modules/thenify": { - "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" - } - }, - "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==", - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tiny-invariant": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/truncate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/truncate/-/truncate-3.0.0.tgz", - "integrity": "sha512-C+0Xojw7wZPl6MDq5UjMTuxZvBPK04mtdFet7k+GSZPINcvLZFCXg+15kWIL4wAqDB7CksIsKiRLbQ1wa7rKdw==", - "engines": { - "node": "*" - } - }, - "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==" - }, - "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", - "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/ua-parser-js": { - "version": "1.0.37", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz", - "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], - "engines": { - "node": "*" - } - }, - "node_modules/uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz", - "integrity": "sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==", - "dev": true, - "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" - } - ], - "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.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==" - }, - "node_modules/utrie": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", - "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", - "dependencies": { - "base64-arraybuffer": "^1.0.2" - } - }, - "node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/victory-vendor": { - "version": "36.9.2", - "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.9.2.tgz", - "integrity": "sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==", - "dependencies": { - "@types/d3-array": "^3.0.3", - "@types/d3-ease": "^3.0.0", - "@types/d3-interpolate": "^3.0.1", - "@types/d3-scale": "^4.0.2", - "@types/d3-shape": "^3.1.0", - "@types/d3-time": "^3.0.0", - "@types/d3-timer": "^3.0.0", - "d3-array": "^3.1.6", - "d3-ease": "^3.0.1", - "d3-interpolate": "^3.0.1", - "d3-scale": "^4.0.2", - "d3-shape": "^3.1.0", - "d3-time": "^3.0.0", - "d3-timer": "^3.0.1" - } - }, - "node_modules/vite": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz", - "integrity": "sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==", - "dev": true, - "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" - } - }, - "node_modules/vlq": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", - "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", - "dev": true - }, - "node_modules/which": { - "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" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", - "dev": true, - "dependencies": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", - "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", - "is-finalizationregistry": "^1.0.2", - "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", - "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "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": { - "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==", - "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-styles": { - "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" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi-cjs/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==" - }, - "node_modules/wrap-ansi/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==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/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==", - "dev": true - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yaml": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.2.tgz", - "integrity": "sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==", - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/frontend/.env.example b/frontend/.env.example new file mode 100644 index 0000000..73cd07c --- /dev/null +++ b/frontend/.env.example @@ -0,0 +1,3 @@ +VITE_API_BASE='http://localhost:3001/api' # Use this URL when developing locally +# VITE_API_BASE="https://$CODESPACE_NAME-3001.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN/api" # for Github Codespaces +# VITE_API_BASE='/api' # Use this URL deploying on non-localhost address OR in docker. diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 0000000..7872060 --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,29 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +lib +dist-ssr +*.local +!frontend/components/lib + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? +bundleinspector.html +.env.production +flow-typed diff --git a/frontend/.nvmrc b/frontend/.nvmrc new file mode 100644 index 0000000..59f4a2f --- /dev/null +++ b/frontend/.nvmrc @@ -0,0 +1 @@ +v18.13.0 \ No newline at end of file diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..5a7f4d6 --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,38 @@ + + + + + + + + AnythingLLM | Your personal LLM trained on anything + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + \ No newline at end of file diff --git a/frontend/jsconfig.json b/frontend/jsconfig.json new file mode 100644 index 0000000..c8cc81f --- /dev/null +++ b/frontend/jsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "esnext", + "jsx": "react", + "paths": { + "@/*": [ + "./src/*" + ], + } + } +} \ No newline at end of file diff --git a/client/package.json b/frontend/package.json similarity index 96% rename from client/package.json rename to frontend/package.json index 3106dd2..1c988eb 100644 --- a/client/package.json +++ b/frontend/package.json @@ -1,5 +1,5 @@ { - "name": "finetune_llms_frontend", + "name": "anything-llm-frontend", "private": false, "license": "MIT", "type": "module", @@ -28,6 +28,7 @@ "react-dropzone": "^14.2.3", "react-loading-skeleton": "^3.1.0", "react-router-dom": "^6.3.0", + "react-speech-recognition": "^3.10.0", "react-tag-input-component": "^2.0.2", "react-toastify": "^9.1.3", "react-tooltip": "^5.25.2", diff --git a/frontend/postcss.config.js b/frontend/postcss.config.js new file mode 100644 index 0000000..869bdc1 --- /dev/null +++ b/frontend/postcss.config.js @@ -0,0 +1,7 @@ +import tailwind from 'tailwindcss' +import autoprefixer from 'autoprefixer' +import tailwindConfig from './tailwind.config.js' + +export default { + plugins: [tailwind(tailwindConfig), autoprefixer], +} \ No newline at end of file diff --git a/frontend/public/anything-llm-dark.png b/frontend/public/anything-llm-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..a294843869eface3065ca61c413528b3bfca668d GIT binary patch literal 8413 zcmcI}gy5k*IdOba! zyC~|r0|2qiS z^xu`vT$78?<%ol+I-Q&_2*%~`lmbJjPmYb{73Y9BWLi3zMDlv~K#4nuU-{G!E^t@twB{cm>LurUIMAW@%(WvghB-~)RRLZr~ zd!im8!wD168IV28s@;En81HjX)o%)EDrMYsN8ZF`XSN3fd+(HcmjbOAAqEnURSU$x z?5yQhznOeI;%<3Csq^jA@m}fmFA8HrQ*7X3Dj$b8E6wxpVhJ-Zm64cNPl_nTI7Dg_ zN_$a#vi{X@?mvoV+1lX77$n?9KQTdSW3MvaQuUq@BCK@D;X<`3QhPn8S=p%TgwA?W=P)L&zx7W|U}*7JQ3Gw4v>i|4Es!|^#6 zqYW#$QbrGHMBW#oXipP0hH#%^il@?7Y0AmE$6C>@5P3U7Gb~N-!r_Fb^u^hI=XYB} zs*?*b#F^1Q27^|LXw1j1w)kby)T37zj43z$p_3p9w$eVu65(wj?B^7k>(xj@X6yfe z;pV=oTdAzX*5=D?5#v?tR1rad&Yum?1_j3gvsK_f6n~H|E}CvO*3WL@lCN=X2Kw(- z73eIgYb^ND0j=F1?qbAJgLpq9P9{fXp1lPWm_&(3t$yVKIj82zG7i3J%P{nJ24Q-`BshiF1|?0NBT*mLV8Z zrBdBET^4`Ir+A~0HKj%5`Dw-Y(e__zW-)8%;bFr8c4Qhrzr6PoSoSWa-Cmn>BwTTnhH19ws*EFugNz2 z_A<$Qr@Y3j78G3BrQr;NvvQpHW4qHS3#s|@bS8^%Yuv=0n+Lo4isSEfO$ zC;B_F1z)=6GY?$vtX0=I-CSW_iYv{rga`%&T&?EY9KkK$_D<-W9U-8gs%Cv~$imm3 z=_(mwpd4-|hfEJQz~>V&7Q)F< zo+lSMrLGhtzc<>p;j1O8BBG$AXlxV*% zB3f{YT*<8j=biZR-v3*%rQ4V(8pbD13s_&qR_xkUi-PGMuE04+M6lf&iM}`}RY_TR zNT31YULGPhDXWK^hUx;1ipQE{N~G1NeL78Og*4M0ASw2&H;e*Y>R7C3^kP_sQz7i#{5_4ap!B&qvK9aIZXXbxRlWucYpH4q47REgh+ zO{OMsZ}03*X@dhw(mLd`>7rp?nGvZQmJ>8d{Pw$Ou)w!Ak2gI%gDoW9bU*H0wr&3q zRb@v#V)+(=W*X?7JsMXXU$d1IRhb#8K6yf^(Jq@(2mB5})oCOnZ~O~vST0eW#A1r6 zzg$Gng3-xnJSZWfPKZ2G)=$Yba*+#hE$>`a*W7-UPJ&qz?M`Cph~+-1K+`;nv4QxLv%UeA#Dp z)|3Ms6Tj+P{&Fd?YWD#ZT1O7P6@dz7t5m58)n6u0m*s!+aBk^wRH32k&1HA zKz&S3VpLh$r#k(&DSTz)peh*CDe_klN)cFu3X10F;7&2(fH=kknXU$n^HEmOJoaV6 zis!*L)%+VIjK0STozE!i+Fp(8eDDa1KU@IUmFAq1lqEIUrk+{K$>ob#UkIG6g)WB- z5dA@+Y%8v)en;r$m^OaCm?Rhp`T)UkulsPhL{K(nU#1pMO1NKnsc{m!joh%VG~$NG zz7T1$AKw)eu_EtA30~l=ZK~|1u4H7&K508Xbi*<;-O+ z)sDpIb`|^P{n@@V2)zp;7FAkC%)aYecO$~0YxVeLpSwFQD%6wk>g#C~tPH);D0>9g zpEhZM!0%yLq+5vJ`zA;u*E!iyOLE6-NJZ)E;vE8BL&yJtgr+XUW_B%-VJ9)C&jG(< z;j+Ze;BNc7B zQKBa|cuiGDo$TZ7zZ+c97HiFEog89g#QKm*&gJ{6%LLgj8M&q%_84I7+~|)Y{fJB7 zJd_kUqXln3vPm|VIw2(sqG7EH+bqiEvadk?rBVl-Z=<3L;`FcDn79BB7q?{O|C8T}>}BcMV2OjwX2X6sfD=V9j*mcHM8sB5JD zHoH61A)ALB+4=Dm4J#K+fQx&#i`a0-tqdmAAg!);Q;2*9Yw}JCAdG?(g`6hCnq(4D zX}OQ6t#@R7&B}5N^K|s(pX=vm1GDpE!Nri;7t@5TUPb5|mV8NCaVS3Z8M?J_!swDd zA>_YJ@{HW>AG!cNJ+W@0w2CN!+8&r`BZC`Aj?nN2aP6}xa)IX^u9bcVg`Tk8T*{TR$V@v|5H9IPq- z9yPoW!^@{cQ8Hy2F8Nltjoe`+AjxRQ0YZxPJsK?PQn!K=yYPK4ed9ua>$vsKglx{l zHDKuYcvlJTXT2L{A~`~ioMN~sqF+Me>eX6qqTN620%7F;6?MGVOFH$#(2o~LSwe|Y zB{9eGQJ!DNJ*(LI@TJ19F3L3A6JI-;vn_g3FkeIk5-E0U&EZ9sPQG8a;;vwRe9-sd zxj23nzDn2Hy}%8+tM7ecB<%9~_%jmrYa@rIRs9ppB>l|RKv%CK+jHCVKGz_sjKELr z!9a6ZlC2MfU-$J(!V#MiMIC+D6x9E8`|U6;T=HJf8L0@Pr zV@LJyF9{xEZWh8znOEftYSs7e0@s~U$jDD8(|WsuC$!b;m(iv zFF{UAul@;;g$|+G3XbbjV^Z8Nju_9Con8R17?rwQoCP;U>K2aQZC)rKni@mfoxowF z>f3Dk8f66#jgiuKt_lI-3C)P~$23oysUza}R!e70{d6$mu%ZI;*yK7Scp+`66Pj?O zuSC%fHqCXY904BXq207~UwOUdaF7{B)g79^VDQ@!iSYytm1bt3aH9ZLbYjp~^_$@@ zf7=dN|8ND`OIA40Teem|`?!2xy%khZuqeGYhqzj7EjQ%AMd>qqX(T2bF()NU+1wy^WYRz1mgWSdD z#&yvo8emTQl4oh^BDR;S>~M3gGP>LT!{m1@?Fus-7{3$GY&dL@PR^n4Y&DB{Fcnua#emz&=MBa@9yYr%I9 zx{C2~xxz-t8e5X~84+NuU6$kHiUstN)hs`>w3H;ZUd4+0&z(xDrq;a~7<5nn;K~O5~llqI;v4bD; z(%ed21vPl8%%*tnKN?ol^oPB=0vY-%RQPG5W9U~Mu7CEXNwfB@UC2l*j${6NKf`!K z^t3FAsCiBp|BvIA*8UikrY&&SWG)|PBPy?@cXGNu++<_;8S`Iz+_8Ykv6bp(>4Opx zbjxV*+n$joAnR|st;jreN4bF~ovRf7ys#}=yg49QstutPHN}fU`s?p)Bb&tO=-0ab zY-0Jofd_&Mw%CU?_pV9v%^$vGcs_EX;^MZ6q;{=YXbay{NcJqC2U1O*yn|LhuN};s z0YsG``A5-geHMdxf|GZADJ?QFH&is;N)`jQ@$P}#>A_?cx}!IG;KFo$mmg~13AL>f z1#J45YN*bc8IOtHK0JlALL^LH5w|Ib7l}(n@$Dx3I?I4i~I6t zpLMv?;@=;i@4V+ycfiQAZ>*{kY52$CED#cNYnvVUQzPt~lmfq?0EW>F$n{IzX&w%)ip3k>_LHGy z!J31vYMu2_{cZ?bTD4`%lc`ur9?omfKJB7W<#tR2|6iku4l^T{$W`zn963v5Wbl;J zG!ptP-Ra?QDLdr0u9wHz?xb8znfXkN{-OB2cj*1vdc@Q!^1n#c3i*l)O`v5!J2ucd z9xsjyS@I3V+{1V!-LM<{xP{*KJ;#yR5Q$C{$7Kwf(N@4@*-fQnY5Dy-Yf8AX9(Jb>eJP`cOiV+w?$4ve= zV;#mO1Il+Jo_4KFfBcbV@VMlAcT*sB3&4Ek`_*c$6XW8YVey2KfnD?upGZ8E*Y7ui zT-Dj5Aivzr*rt-2P23&2>%lE+X}2X7P-fc-rWi|+I>C&GlC_wFijBrawc$`SwM+By zL@Vq8A~=YIg%ro}i@x$PbjYNs@GTIS5lsz>k~=2He5a;}xX6(Fcixst_k@bps97s3 zfRHM^xxL;~$n4G|Yt5BNY=9VPNu|XwJ>d42R}s@)U~PNiZyN+7nNPN4MQkLH+MKOm-Sym4HscFkWJE6@5CzTn^&jZ`XY{86EQNc#|Hi+N5lT0sv)bcO=FqUWu7BJ! zu404e?M&>g|1Ph{u)_XSdT#gzNGJ2{mSp+W*Pq?4*_Nq^vb=tdks1s6(4J;K%@ZcZ zYmt&P!GAy=LjUAj{#;!8{(eGLzYwQwWvaV!?$!H!ze+hDTX<#+x_Y*u*43AyIjN+r zd-xg^v}Ij>cSBSj>y=GS2Aju6$rv?b1LsqormpzWbSIjZr`B1 z5Ut0*oUm9epJ@aPl6yVqS4U7UoEpRhdwa;H9VQ2V_5r+q`U|PdBRupRZ@uo@W?DL& zf7R`(@x#7`=B@8)n93!EYMu(3e5IS@lF6vvUD#K9ZSWOw!U z4FDUl`0O3Xhi`5lQ-2A5ZS9fz_6#75v0%muGjtOQloyP8ilH8bLj29Ym%Zq*hqh>G zJ7fYATRZcv6QG=o-e(C|WgJqxMx-gU+16At$xESDh7y)v9rv;3CLQUwXPZev%<||z zU0)Gw#nw>-3-Bx6&u&@YB3r-di`YNE2BW{m7CrHsZ=;@{uKcxe+Qz1{JHcr*A9*D* ztUU=8xUool?K%-NqTRGZd>wf6cwnjNwzb65;smDP&y!XsMBCB1EoO?s_f4x&O6K|H z$~|lwj}s>-mAT~+5VZQ#BO5QgvZIwen-CH`Q=@*5JOgY-3?7uZvcVTCbUNJapX@Q# zPMi}k?M!gEF>jzY-}*YXV14jos!=We#sXQn#4?TEm6Jp6C9aYB3ub?=(qC%5E?RbS zIG=o04|Nu`OO4NuoQoNus(H4V=T#JA!8m(AU;gGHo}=8Du?QBjidX#Pm>lZfMOqB5 z7*KDW<%;AHckd^Tfx=`?JU|$&XvK1A9*+!$_@OPd)r@=ub$r(HRFmL z0H%w0`|0S!5=TG+hWFYrD!q1Ng0ugq$`q5(nrPv^LAALl-;uI;n>PsfG-BNy7qOc+%fK&uGBt&vhkv=J!$^3X0H| zm@KGaj{E*S19%@sS2A?ZUpp#B$e^YByn-GY)iMw`r4Qz8Nv-E!;9SMmTw|w?ryK+mQc!76IiV{mQ;tjn8&D%xzh!XacC1OL;Z5>p0SvdtYGMD z^!Eo+_XWbJSM>PL(yy@bf!t!x`}p%}V*R5HMUT)=u{v8^9r^v^@r_w{X6!(GzCN*> z_dmU(CO-CR)m{54V)gFbH_C-Fk}V;a7_$we@uiPR@aoI7?kgJqx3`Mk!=m@1zqwP# z#O_&x@SgxM(8?Kx@Gr1I8m{(OW(Q^?I+QDOq}G)v97;+g6b;CJAi<6Q;O_g$?tK~u zgn06rv8poOc=v-PWGsN+AsLA=D7hlJc+`HtG^^6cH?Q_nI**uj=8P6qM)I{=j-{v0 zfhq+}J7kDRZL|RG&39sXyIMCuYVtrHhkqgdyTyz-P5v5Bvk&a{ciE}Vu2m$s2+Bk8 z6|UA63$W^I(xaxMM4ZqNKI;80+LWSsNrt^t-rtxyx~y@c`jb*YRwYd@R9qGN;XOTh zU@@P*lC%fLj$oziU-F@FCV+efvxpMNo?CDOl=OZl)`9)Zapc>tZtyon6K=I zXL6P5GAVqe^vZ`}g=y}*e=HcWdhE!on+o)66X25-{=PU86X!ScO-G)VQyY|V5<|JX z%hLpU{6Z?x-b}I_fh?I?`|KfrJ5joo)HPqt^3Vg8tX{6+RxyC)$7yf*iN;mpQKrF_aOg14RXSdXc4Z`lAR9ofKM%wgra^>0{7av@RJpML zI%g@OevA7kDFJZs1jR$6k!)zA8~kl}Js&T{4>*@Yf~#@6^6L{;SvLcOJ!y330C>C( zCDsRYC=Ze8{;bZU$^z*{>(^wNb5wmK(Jc3*u1&_w+qUy<-7)*CKbr{0CVC_|`8Q$> zj>d0r>oghQD>v-T&wXuzGGs*Y2@%W0w2L_rI= zCKGdl1j<-Ko}72PXgnQJg3x*(D`@z1AB zLhRp(yx@FQ=W?|9jtlnKWQ-|XR;{E@)xNmgKS*o$134wtY!_tIwb$$qni7VYphWL) zPcrVvbpUhtRx9Wqh>I3|MTN|FZ+g&jNrH=0v<;WlB9aZF;L)V>GvC-_m@(E=ba9W1 zGCOKG+SrRL%_|tk34{BsOxs${Sr8LeT#HwcQIY9BH0jG;evf~>p-I83VAlmUZP49PpV zrK?%~JCB3g9xY(|=w2#rwD)Q6U9s~&+bMc`dpmM8VBiB9(WD7NvUtS1TOOqQ?FkH< zxuqedz|ykfYDh*2lN2Z6Y>jM)d4c7hjgf8oP0@@Wel_jwogykv?in?WQIN)5^q&7^ zdh(EjY+lW?B=aRdm!OsI z#~&I&WjRjG5c5Jzd9){t@?V*KasU+4h}`0Xfi}nIhG~hN;$rbs}t~^Bld5mUM z`$#7Be-Z&n{pI`fd}UJMbl;u@JA#Y@+v;x^(0CaCBNIK;AJQAR5AUrq+f`a_!Eay3 zGbXM5*;}r7kmsI|_gCghC6y8V`?D}QK;PGKjXUA83#=q;`6wTEt>(Y2moc74LPkrY z-0D3)s~c@$m$&dqpu^VZB+O1{v{C{tSil%v8EFv<%>QJ;v=JwSkOjUt9T~qngCG@I zO<$aPkupD^Qa3F#7RDm2QBB*|@ZjNp#)NJbCPn*XNa?2ybIKuz=mC7QxMFmKMJLA# z!v(43Iveyth?qi8_I$6e&fHs#bLlZ)UhumoTW)=AR3AQHhk5Yz!*}6?tLGuSfd5QJ zBsWcx>&Qj>h!7c&#YSZm0E9E&DEFJ5Z>%D+&^9I>G48$kuOo&Kvrijv042HivQ^S% GU;YOq98zci literal 0 HcmV?d00001 diff --git a/frontend/public/anything-llm-light.png b/frontend/public/anything-llm-light.png new file mode 100644 index 0000000000000000000000000000000000000000..341d21b6cea9a1b7b8ed431920931c55f4d1c0c2 GIT binary patch literal 6324 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 literal 0 HcmV?d00001 diff --git a/frontend/public/embed/anythingllm-chat-widget.min.js b/frontend/public/embed/anythingllm-chat-widget.min.js new file mode 100644 index 0000000..6dacc09 --- /dev/null +++ b/frontend/public/embed/anythingllm-chat-widget.min.js @@ -0,0 +1,38 @@ +!function(Jn,Nt){"object"==typeof exports&&typeof module<"u"?Nt(exports):"function"==typeof define&&define.amd?define(["exports"],Nt):Nt((Jn=typeof globalThis<"u"?globalThis:Jn||self).EmbeddedAnythingLLM={})}(this,(function(Jn){"use strict";var I1,Nt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function jo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ju={exports:{}},Wo={},ec={exports:{}},ee={},zr=Symbol.for("react.element"),K1=Symbol.for("react.portal"),X1=Symbol.for("react.fragment"),Q1=Symbol.for("react.strict_mode"),J1=Symbol.for("react.profiler"),eg=Symbol.for("react.provider"),tg=Symbol.for("react.context"),ng=Symbol.for("react.forward_ref"),rg=Symbol.for("react.suspense"),og=Symbol.for("react.memo"),ag=Symbol.for("react.lazy"),tc=Symbol.iterator; +/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var nc={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},rc=Object.assign,oc={};function er(e,t,n){this.props=e,this.context=t,this.refs=oc,this.updater=n||nc}function ac(){}function Vs(e,t,n){this.props=e,this.context=t,this.refs=oc,this.updater=n||nc}er.prototype.isReactComponent={},er.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},er.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},ac.prototype=er.prototype;var zs=Vs.prototype=new ac;zs.constructor=Vs,rc(zs,er.prototype),zs.isPureReactComponent=!0;var sc=Array.isArray,ic=Object.prototype.hasOwnProperty,Gs={current:null},lc={key:!0,ref:!0,__self:!0,__source:!0};function uc(e,t,n){var r,o={},a=null,s=null;if(null!=t)for(r in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(a=""+t.key),t)ic.call(t,r)&&!lc.hasOwnProperty(r)&&(o[r]=t[r]);var i=arguments.length-2;if(1===i)o.children=n;else if(1>>1,H=T[k];if(!(0>>1;ko(ce,L))seo(le,ce)?(T[k]=le,T[se]=L,k=se):(T[k]=ce,T[fe]=L,k=fe);else{if(!(seo(le,L)))break e;T[k]=le,T[se]=L,k=se}}}return y}function o(T,y){var L=T.sortIndex-y.sortIndex;return 0!==L?L:T.id-y.id}if("object"==typeof performance&&"function"==typeof performance.now){var a=performance;e.unstable_now=function(){return a.now()}}else{var s=Date,i=s.now();e.unstable_now=function(){return s.now()-i}}var l=[],u=[],c=1,p=null,d=3,m=!1,A=!1,b=!1,C="function"==typeof setTimeout?setTimeout:null,h="function"==typeof clearTimeout?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;function E(T){for(var y=n(u);null!==y;){if(null===y.callback)r(u);else{if(!(y.startTime<=T))break;r(u),y.sortIndex=y.expirationTime,t(l,y)}y=n(u)}}function v(T){if(b=!1,E(T),!A)if(null!==n(l))A=!0,P(N);else{var y=n(u);null!==y&&x(v,y.startTime-T)}}function N(T,y){A=!1,b&&(b=!1,h(R),R=-1),m=!0;var L=d;try{for(E(y),p=n(l);null!==p&&(!(p.expirationTime>y)||T&&!Q());){var k=p.callback;if("function"==typeof k){p.callback=null,d=p.priorityLevel;var H=k(p.expirationTime<=y);y=e.unstable_now(),"function"==typeof H?p.callback=H:p===n(l)&&r(l),E(y)}else r(l);p=n(l)}if(null!==p)var j=!0;else{var fe=n(u);null!==fe&&x(v,fe.startTime-y),j=!1}return j}finally{p=null,d=L,m=!1}}typeof navigator<"u"&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var Y,_=!1,S=null,R=-1,q=5,I=-1;function Q(){return!(e.unstable_now()-IT||125k?(T.sortIndex=L,t(u,T),null===n(l)&&T===n(u)&&(b?(h(R),R=-1):b=!0,x(v,L-k))):(T.sortIndex=H,t(l,T),A||m||(A=!0,P(N))),T},e.unstable_shouldYield=Q,e.unstable_wrapCallback=function(T){var y=d;return function(){var L=d;d=y;try{return T.apply(this,arguments)}finally{d=L}}}})(gc),fc.exports=gc;var Eg=fc.exports,mc=Z,lt=Eg; +/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */function M(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ws=Object.prototype.hasOwnProperty,Ag=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Ec={},Ac={};function Ye(e,t,n,r,o,a,s){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=s}var Me={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){Me[e]=new Ye(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];Me[t]=new Ye(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){Me[e]=new Ye(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){Me[e]=new Ye(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){Me[e]=new Ye(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){Me[e]=new Ye(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){Me[e]=new Ye(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){Me[e]=new Ye(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){Me[e]=new Ye(e,5,!1,e.toLowerCase(),null,!1,!1)}));var Ys=/[\-:]([a-z])/g;function Ks(e){return e[1].toUpperCase()}function Xs(e,t,n,r){var o=Me.hasOwnProperty(t)?Me[t]:null;(null!==o?0!==o.type:r||!(2"u"||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,o,r)&&(n=null),r||null===o?function(e){return!!Ws.call(Ac,e)||!Ws.call(Ec,e)&&(Ag.test(e)?Ac[e]=!0:(Ec[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=null===n?3!==o.type&&"":n:(t=o.attributeName,r=o.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(o=o.type)||4===o&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(Ys,Ks);Me[t]=new Ye(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(Ys,Ks);Me[t]=new Ye(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(Ys,Ks);Me[t]=new Ye(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){Me[e]=new Ye(e,1,!1,e.toLowerCase(),null,!1,!1)})),Me.xlinkHref=new Ye("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){Me[e]=new Ye(e,1,!1,e.toLowerCase(),null,!0,!0)}));var Yt=mc.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Qo=Symbol.for("react.element"),nr=Symbol.for("react.portal"),rr=Symbol.for("react.fragment"),Qs=Symbol.for("react.strict_mode"),Js=Symbol.for("react.profiler"),bc=Symbol.for("react.provider"),_c=Symbol.for("react.context"),ei=Symbol.for("react.forward_ref"),ti=Symbol.for("react.suspense"),ni=Symbol.for("react.suspense_list"),ri=Symbol.for("react.memo"),sn=Symbol.for("react.lazy"),vc=Symbol.for("react.offscreen"),Dc=Symbol.iterator;function $r(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=Dc&&e[Dc]||e["@@iterator"])?e:null}var oi,be=Object.assign;function Zr(e){if(void 0===oi)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);oi=t&&t[1]||""}return"\n"+oi+e}var ai=!1;function si(e,t){if(!e||ai)return"";ai=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(u){var r=u}Reflect.construct(e,[],t)}else{try{t.call()}catch(u){r=u}e.call(t.prototype)}else{try{throw Error()}catch(u){r=u}e()}}catch(u){if(u&&r&&"string"==typeof u.stack){for(var o=u.stack.split("\n"),a=r.stack.split("\n"),s=o.length-1,i=a.length-1;1<=s&&0<=i&&o[s]!==a[i];)i--;for(;1<=s&&0<=i;s--,i--)if(o[s]!==a[i]){if(1!==s||1!==i)do{if(s--,0>--i||o[s]!==a[i]){var l="\n"+o[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}}while(1<=s&&0<=i);break}}}finally{ai=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Zr(e):""}function Dg(e){switch(e.tag){case 5:return Zr(e.type);case 16:return Zr("Lazy");case 13:return Zr("Suspense");case 19:return Zr("SuspenseList");case 0:case 2:case 15:return e=si(e.type,!1);case 11:return e=si(e.type.render,!1);case 1:return e=si(e.type,!0);default:return""}}function ii(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case rr:return"Fragment";case nr:return"Portal";case Js:return"Profiler";case Qs:return"StrictMode";case ti:return"Suspense";case ni:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case _c:return(e.displayName||"Context")+".Consumer";case bc:return(e._context.displayName||"Context")+".Provider";case ei:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case ri:return null!==(t=e.displayName||null)?t:ii(e.type)||"Memo";case sn:t=e._payload,e=e._init;try{return ii(e(t))}catch{}}return null}function yg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ii(t);case 8:return t===Qs?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function ln(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function yc(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Jo(e){e._valueTracker||(e._valueTracker=function(e){var t=yc(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&"function"==typeof n.get&&"function"==typeof n.set){var o=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(s){r=""+s,a.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function Tc(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=yc(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function ea(e){if(typeof(e=e||(typeof document<"u"?document:void 0))>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function li(e,t){var n=t.checked;return be({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Cc(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=ln(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Nc(e,t){null!=(t=t.checked)&&Xs(e,"checked",t,!1)}function ui(e,t){Nc(e,t);var n=ln(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ci(e,t.type,n):t.hasOwnProperty("defaultValue")&&ci(e,t.type,ln(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function Sc(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ci(e,t,n){("number"!==t||ea(e.ownerDocument)!==e)&&(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var jr=Array.isArray;function or(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=ta.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction((function(){return e(t,n)}))}:e);function Wr(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var Yr={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Cg=["Webkit","ms","Moz","O"];function kc(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||Yr.hasOwnProperty(e)&&Yr[e]?(""+t).trim():t+"px"}function Ic(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),o=kc(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}Object.keys(Yr).forEach((function(e){Cg.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Yr[t]=Yr[e]}))}));var Ng=be({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function fi(e,t){if(t){if(Ng[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(M(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(M(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(M(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(M(62))}}function gi(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var mi=null;function hi(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Ei=null,ar=null,sr=null;function Mc(e){if(e=Ao(e)){if("function"!=typeof Ei)throw Error(M(280));var t=e.stateNode;t&&(t=Ta(t),Ei(e.stateNode,e.type,t))}}function Fc(e){ar?sr?sr.push(e):sr=[e]:ar=e}function Bc(){if(ar){var e=ar,t=sr;if(sr=ar=null,Mc(e),t)for(e=0;e>>=0,0===e?32:31-(Bg(e)/Pg|0)|0},Bg=Math.log,Pg=Math.LN2;var sa=64,ia=4194304;function Jr(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function la(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,o=e.suspendedLanes,a=e.pingedLanes,s=268435455&n;if(0!==s){var i=s&~o;0!==i?r=Jr(i):0!==(a&=s)&&(r=Jr(a))}else 0!==(s=n&~o)?r=Jr(s):0!==a&&(r=Jr(a));if(0===r)return 0;if(0!==t&&t!==r&&!(t&o)&&((o=r&-r)>=(a=t&-t)||16===o&&0!=(4194240&a)))return t;if(4&r&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function eo(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-St(t)]=n}function Ti(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-St(n),o=1<=lo),d0=" ",p0=!1;function f0(e,t){switch(e){case"keyup":return-1!==hm.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function g0(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var ur=!1;var _m={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function m0(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!_m[e.type]:"textarea"===t}function h0(e,t,n,r){Fc(r),0<(t=va(t,"onChange")).length&&(n=new Ri("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var uo=null,co=null;function vm(e){I0(e,0)}function Ea(e){if(Tc(gr(e)))return e}function Dm(e,t){if("change"===e)return t}var E0=!1;if(Wt){var Fi;if(Wt){var Bi="oninput"in document;if(!Bi){var A0=document.createElement("div");A0.setAttribute("oninput","return;"),Bi="function"==typeof A0.oninput}Fi=Bi}else Fi=!1;E0=Fi&&(!document.documentMode||9=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=v0(n)}}function y0(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?y0(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function T0(){for(var e=window,t=ea();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch{n=!1}if(!n)break;t=ea((e=t.contentWindow).document)}return t}function Pi(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function wm(e){var t=T0(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&y0(n.ownerDocument.documentElement,n)){if(null!==r&&Pi(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var o=n.textContent.length,a=Math.min(r.start,o);r=void 0===r.end?a:Math.min(r.end,o),!e.extend&&a>r&&(o=r,r=a,a=o),o=D0(n,a);var s=D0(n,r);o&&s&&(1!==e.rangeCount||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&((t=t.createRange()).setStart(o.node,o.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n=document.documentMode,cr=null,Ui=null,fo=null,qi=!1;function C0(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;qi||null==cr||cr!==ea(r)||("selectionStart"in(r=cr)&&Pi(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},fo&&po(fo,r)||(fo=r,0<(r=va(Ui,"onSelect")).length&&(t=new Ri("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=cr)))}function Aa(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var dr={animationend:Aa("Animation","AnimationEnd"),animationiteration:Aa("Animation","AnimationIteration"),animationstart:Aa("Animation","AnimationStart"),transitionend:Aa("Transition","TransitionEnd")},Hi={},N0={};function ba(e){if(Hi[e])return Hi[e];if(!dr[e])return e;var n,t=dr[e];for(n in t)if(t.hasOwnProperty(n)&&n in N0)return Hi[e]=t[n];return e}Wt&&(N0=document.createElement("div").style,"AnimationEvent"in window||(delete dr.animationend.animation,delete dr.animationiteration.animation,delete dr.animationstart.animation),"TransitionEvent"in window||delete dr.transitionend.transition);var S0=ba("animationend"),w0=ba("animationiteration"),x0=ba("animationstart"),R0=ba("transitionend"),L0=new Map,O0="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function gn(e,t){L0.set(e,t),xn(t,[e])}for(var Vi=0;Vimr||(e.current=Qi[mr],Qi[mr]=null,mr--)}function pe(e,t){mr++,Qi[mr]=e.current,e.current=t}var En={},qe=hn(En),Je=hn(!1),On=En;function hr(e,t){var n=e.type.contextTypes;if(!n)return En;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,o={};for(a in n)o[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function et(e){return null!=(e=e.childContextTypes)}function Ca(){Ee(Je),Ee(qe)}function q0(e,t,n){if(qe.current!==En)throw Error(M(168));pe(qe,t),pe(Je,n)}function H0(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in t))throw Error(M(108,yg(e)||"Unknown",o));return be({},n,r)}function Na(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||En,On=qe.current,pe(qe,e),pe(Je,Je.current),!0}function V0(e,t,n){var r=e.stateNode;if(!r)throw Error(M(169));n?(e=H0(e,t,On),r.__reactInternalMemoizedMergedChildContext=e,Ee(Je),Ee(qe),pe(qe,e)):Ee(Je),pe(Je,n)}var Xt=null,Sa=!1,Ji=!1;function z0(e){null===Xt?Xt=[e]:Xt.push(e)}function An(){if(!Ji&&null!==Xt){Ji=!0;var e=0,t=ue;try{var n=Xt;for(ue=1;e>=s,o-=s,Qt=1<<32-St(t)+o|n<R?(q=S,S=null):q=S.sibling;var I=d(h,S,E[R],v);if(null===I){null===S&&(S=q);break}e&&S&&null===I.alternate&&t(h,S),g=a(I,g,R),null===_?N=I:_.sibling=I,_=I,S=q}if(R===E.length)return n(h,S),Ae&&In(h,R),N;if(null===S){for(;RR?(q=S,S=null):q=S.sibling;var Q=d(h,S,I.value,v);if(null===Q){null===S&&(S=q);break}e&&S&&null===Q.alternate&&t(h,S),g=a(Q,g,R),null===_?N=Q:_.sibling=Q,_=Q,S=q}if(I.done)return n(h,S),Ae&&In(h,R),N;if(null===S){for(;!I.done;R++,I=E.next())null!==(I=p(h,I.value,v))&&(g=a(I,g,R),null===_?N=I:_.sibling=I,_=I);return Ae&&In(h,R),N}for(S=r(h,S);!I.done;R++,I=E.next())null!==(I=m(S,h,R,I.value,v))&&(e&&null!==I.alternate&&S.delete(null===I.key?R:I.key),g=a(I,g,R),null===_?N=I:_.sibling=I,_=I);return e&&S.forEach((function(ie){return t(h,ie)})),Ae&&In(h,R),N}(h,g,E,v);Fa(h,E)}return"string"==typeof E&&""!==E||"number"==typeof E?(E=""+E,null!==g&&6===g.tag?(n(h,g.sibling),(g=o(g,E)).return=h,h=g):(n(h,g),(g=Yl(E,h.mode,v)).return=h,h=g),s(h)):n(h,g)}}var Dr=od(!0),ad=od(!1),_o={},qt=hn(_o),vo=hn(_o),Do=hn(_o);function Fn(e){if(e===_o)throw Error(M(174));return e}function fl(e,t){switch(pe(Do,t),pe(vo,e),pe(qt,_o),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:pi(null,"");break;default:t=pi(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Ee(qt),pe(qt,t)}function yr(){Ee(qt),Ee(vo),Ee(Do)}function sd(e){Fn(Do.current);var t=Fn(qt.current),n=pi(t,e.type);t!==n&&(pe(vo,e),pe(qt,n))}function gl(e){vo.current===e&&(Ee(qt),Ee(vo))}var _e=hn(0);function Ba(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ml=[];function hl(){for(var e=0;en?n:4,e(!0);var r=El.transition;El.transition={};try{e(!1),t()}finally{ue=n,El.transition=r}}function Td(){return _t().memoizedState}function Gm(e,t,n){var r=Tn(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Cd(e))Nd(t,n);else if(null!==(n=Y0(e,t,n,r))){kt(n,e,r,Xe()),Sd(n,t,r)}}function $m(e,t,n){var r=Tn(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Cd(e))Nd(t,o);else{var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer))try{var s=t.lastRenderedState,i=a(s,n);if(o.hasEagerState=!0,o.eagerState=i,wt(i,s)){var l=t.interleaved;return null===l?(o.next=o,ul(t)):(o.next=l.next,l.next=o),void(t.interleaved=o)}}catch{}null!==(n=Y0(e,t,o,r))&&(kt(n,e,r,o=Xe()),Sd(n,t,r))}}function Cd(e){var t=e.alternate;return e===ve||null!==t&&t===ve}function Nd(e,t){yo=Ua=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Sd(e,t,n){if(4194240&n){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,Ti(e,n)}}var Va={readContext:bt,useCallback:He,useContext:He,useEffect:He,useImperativeHandle:He,useInsertionEffect:He,useLayoutEffect:He,useMemo:He,useReducer:He,useRef:He,useState:He,useDebugValue:He,useDeferredValue:He,useTransition:He,useMutableSource:He,useSyncExternalStore:He,useId:He,unstable_isNewReconciler:!1},Zm={readContext:bt,useCallback:function(e,t){return Ht().memoizedState=[e,void 0===t?null:t],e},useContext:bt,useEffect:hd,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,qa(4194308,4,bd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return qa(4194308,4,e,t)},useInsertionEffect:function(e,t){return qa(4,2,e,t)},useMemo:function(e,t){var n=Ht();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ht();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Gm.bind(null,ve,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},Ht().memoizedState=e},useState:gd,useDebugValue:Tl,useDeferredValue:function(e){return Ht().memoizedState=e},useTransition:function(){var e=gd(!1),t=e[0];return e=zm.bind(null,e[1]),Ht().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=ve,o=Ht();if(Ae){if(void 0===n)throw Error(M(407));n=n()}else{if(n=t(),null===Oe)throw Error(M(349));30&Bn||ud(r,t,n)}o.memoizedState=n;var a={value:n,getSnapshot:t};return o.queue=a,hd(dd.bind(null,r,a,e),[e]),r.flags|=2048,No(9,cd.bind(null,r,a,n,t),void 0,null),n},useId:function(){var e=Ht(),t=Oe.identifierPrefix;if(Ae){var n=Jt;t=":"+t+"R"+(n=(Qt&~(1<<32-St(Qt)-1)).toString(32)+n),0<(n=To++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=Vm++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},jm={readContext:bt,useCallback:vd,useContext:bt,useEffect:yl,useImperativeHandle:_d,useInsertionEffect:Ed,useLayoutEffect:Ad,useMemo:Dd,useReducer:vl,useRef:md,useState:function(){return vl(Co)},useDebugValue:Tl,useDeferredValue:function(e){return yd(_t(),we.memoizedState,e)},useTransition:function(){return[vl(Co)[0],_t().memoizedState]},useMutableSource:id,useSyncExternalStore:ld,useId:Td,unstable_isNewReconciler:!1},Wm={readContext:bt,useCallback:vd,useContext:bt,useEffect:yl,useImperativeHandle:_d,useInsertionEffect:Ed,useLayoutEffect:Ad,useMemo:Dd,useReducer:Dl,useRef:md,useState:function(){return Dl(Co)},useDebugValue:Tl,useDeferredValue:function(e){var t=_t();return null===we?t.memoizedState=e:yd(t,we.memoizedState,e)},useTransition:function(){return[Dl(Co)[0],_t().memoizedState]},useMutableSource:id,useSyncExternalStore:ld,useId:Td,unstable_isNewReconciler:!1};function Tr(e,t){try{var n="",r=t;do{n+=Dg(r),r=r.return}while(r);var o=n}catch(a){o="\nError generating stack: "+a.message+"\n"+a.stack}return{value:e,source:t,stack:o,digest:null}}function Cl(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Nl(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var Ym="function"==typeof WeakMap?WeakMap:Map;function wd(e,t,n){(n=tn(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Ya||(Ya=!0,Hl=r),Nl(0,t)},n}function xd(e,t,n){(n=tn(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var o=t.value;n.payload=function(){return r(o)},n.callback=function(){Nl(0,t)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(n.callback=function(){Nl(0,t),"function"!=typeof r&&(null===Dn?Dn=new Set([this]):Dn.add(this));var s=t.stack;this.componentDidCatch(t.value,{componentStack:null!==s?s:""})}),n}function Rd(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new Ym;var o=new Set;r.set(t,o)}else void 0===(o=r.get(t))&&(o=new Set,r.set(t,o));o.has(n)||(o.add(n),e=uh.bind(null,e,t,n),t.then(e,e))}function Ld(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function Od(e,t,n,r,o){return 1&e.mode?(e.flags|=65536,e.lanes=o,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=tn(-1,1)).tag=2,_n(n,t,1))),n.lanes|=1),e)}var Km=Yt.ReactCurrentOwner,tt=!1;function Ke(e,t,n,r){t.child=null===e?ad(t,null,n,r):Dr(t,e.child,n,r)}function kd(e,t,n,r,o){n=n.render;var a=t.ref;return vr(t,o),r=bl(e,t,n,r,a,o),n=_l(),null===e||tt?(Ae&&n&&el(t),t.flags|=1,Ke(e,t,r,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,nn(e,t,o))}function Id(e,t,n,r,o){if(null===e){var a=n.type;return"function"!=typeof a||Wl(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=ts(n.type,null,r,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,Md(e,t,a,r,o))}if(a=e.child,!(e.lanes&o)){var s=a.memoizedProps;if((n=null!==(n=n.compare)?n:po)(s,r)&&e.ref===t.ref)return nn(e,t,o)}return t.flags|=1,(e=Nn(a,r)).ref=t.ref,e.return=t,t.child=e}function Md(e,t,n,r,o){if(null!==e){var a=e.memoizedProps;if(po(a,r)&&e.ref===t.ref){if(tt=!1,t.pendingProps=r=a,0==(e.lanes&o))return t.lanes=e.lanes,nn(e,t,o);131072&e.flags&&(tt=!0)}}return Sl(e,t,n,r,o)}function Fd(e,t,n){var r=t.pendingProps,o=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,pe(Nr,pt),pt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==a?a.baseLanes:n,pe(Nr,pt),pt|=r}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},pe(Nr,pt),pt|=n;else null!==a?(r=a.baseLanes|n,t.memoizedState=null):r=n,pe(Nr,pt),pt|=r;return Ke(e,t,o,n),t.child}function Bd(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Sl(e,t,n,r,o){var a=et(n)?On:qe.current;return a=hr(t,a),vr(t,o),n=bl(e,t,n,r,a,o),r=_l(),null===e||tt?(Ae&&r&&el(t),t.flags|=1,Ke(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,nn(e,t,o))}function Pd(e,t,n,r,o){if(et(n)){var a=!0;Na(t)}else a=!1;if(vr(t,o),null===t.stateNode)Ga(e,t),td(t,n,r),pl(t,n,r,o),r=!0;else if(null===e){var s=t.stateNode,i=t.memoizedProps;s.props=i;var l=s.context,u=n.contextType;"object"==typeof u&&null!==u?u=bt(u):u=hr(t,u=et(n)?On:qe.current);var c=n.getDerivedStateFromProps,p="function"==typeof c||"function"==typeof s.getSnapshotBeforeUpdate;p||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(i!==r||l!==u)&&nd(t,s,r,u),bn=!1;var d=t.memoizedState;s.state=d,Ia(t,r,s,o),l=t.memoizedState,i!==r||d!==l||Je.current||bn?("function"==typeof c&&(dl(t,n,c,r),l=t.memoizedState),(i=bn||ed(t,n,i,r,d,l,u))?(p||"function"!=typeof s.UNSAFE_componentWillMount&&"function"!=typeof s.componentWillMount||("function"==typeof s.componentWillMount&&s.componentWillMount(),"function"==typeof s.UNSAFE_componentWillMount&&s.UNSAFE_componentWillMount()),"function"==typeof s.componentDidMount&&(t.flags|=4194308)):("function"==typeof s.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),s.props=r,s.state=l,s.context=u,r=i):("function"==typeof s.componentDidMount&&(t.flags|=4194308),r=!1)}else{s=t.stateNode,K0(e,t),i=t.memoizedProps,u=t.type===t.elementType?i:Rt(t.type,i),s.props=u,p=t.pendingProps,d=s.context,"object"==typeof(l=n.contextType)&&null!==l?l=bt(l):l=hr(t,l=et(n)?On:qe.current);var m=n.getDerivedStateFromProps;(c="function"==typeof m||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(i!==p||d!==l)&&nd(t,s,r,l),bn=!1,d=t.memoizedState,s.state=d,Ia(t,r,s,o);var A=t.memoizedState;i!==p||d!==A||Je.current||bn?("function"==typeof m&&(dl(t,n,m,r),A=t.memoizedState),(u=bn||ed(t,n,u,r,d,A,l)||!1)?(c||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(r,A,l),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(r,A,l)),"function"==typeof s.componentDidUpdate&&(t.flags|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof s.componentDidUpdate||i===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!=typeof s.getSnapshotBeforeUpdate||i===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=A),s.props=r,s.state=A,s.context=l,r=u):("function"!=typeof s.componentDidUpdate||i===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!=typeof s.getSnapshotBeforeUpdate||i===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),r=!1)}return wl(e,t,n,r,a,o)}function wl(e,t,n,r,o,a){Bd(e,t);var s=0!=(128&t.flags);if(!r&&!s)return o&&V0(t,n,!1),nn(e,t,a);r=t.stateNode,Km.current=t;var i=s&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&s?(t.child=Dr(t,e.child,null,a),t.child=Dr(t,null,i,a)):Ke(e,t,i,a),t.memoizedState=r.state,o&&V0(t,n,!0),t.child}function Ud(e){var t=e.stateNode;t.pendingContext?q0(0,t.pendingContext,t.pendingContext!==t.context):t.context&&q0(0,t.context,!1),fl(e,t.containerInfo)}function qd(e,t,n,r,o){return br(),ol(o),t.flags|=256,Ke(e,t,n,r),t.child}var Gd,kl,$d,Zd,xl={dehydrated:null,treeContext:null,retryLane:0};function Rl(e){return{baseLanes:e,cachePool:null,transitions:null}}function Hd(e,t,n){var i,r=t.pendingProps,o=_e.current,a=!1,s=0!=(128&t.flags);if((i=s)||(i=(null===e||null!==e.memoizedState)&&0!=(2&o)),i?(a=!0,t.flags&=-129):(null===e||null!==e.memoizedState)&&(o|=1),pe(_e,1&o),null===e)return rl(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(s=r.children,e=r.fallback,a?(r=t.mode,a=t.child,s={mode:"hidden",children:s},1&r||null===a?a=ns(s,r,0,null):(a.childLanes=0,a.pendingProps=s),e=Vn(e,r,n,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=Rl(n),t.memoizedState=xl,e):Ll(t,s));if(null!==(o=e.memoizedState)&&null!==(i=o.dehydrated))return function(e,t,n,r,o,a,s){if(n)return 256&t.flags?(t.flags&=-257,r=Cl(Error(M(422))),za(e,t,s,r)):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(a=r.fallback,o=t.mode,r=ns({mode:"visible",children:r.children},o,0,null),a=Vn(a,o,s,null),a.flags|=2,r.return=t,a.return=t,r.sibling=a,t.child=r,1&t.mode&&Dr(t,e.child,null,s),t.child.memoizedState=Rl(s),t.memoizedState=xl,a);if(!(1&t.mode))return za(e,t,s,null);if("$!"===o.data){if(r=o.nextSibling&&o.nextSibling.dataset)var i=r.dgst;return r=i,za(e,t,s,r=Cl(a=Error(M(419)),r,void 0))}if(i=0!=(s&e.childLanes),tt||i){if(null!==(r=Oe)){switch(s&-s){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}0!==(o=o&(r.suspendedLanes|s)?0:o)&&o!==a.retryLane&&(a.retryLane=o,en(e,o),kt(r,e,o,-1))}return jl(),za(e,t,s,r=Cl(Error(M(421))))}return"$?"===o.data?(t.flags|=128,t.child=e.child,t=ch.bind(null,e),o._reactRetry=t,null):(e=a.treeContext,dt=mn(o.nextSibling),ct=t,Ae=!0,xt=null,null!==e&&(Et[At++]=Qt,Et[At++]=Jt,Et[At++]=kn,Qt=e.id,Jt=e.overflow,kn=t),t=Ll(t,r.children),t.flags|=4096,t)}(e,t,s,r,i,o,n);if(a){a=r.fallback,s=t.mode,i=(o=e.child).sibling;var l={mode:"hidden",children:r.children};return 1&s||t.child===o?(r=Nn(o,l)).subtreeFlags=14680064&o.subtreeFlags:((r=t.child).childLanes=0,r.pendingProps=l,t.deletions=null),null!==i?a=Nn(i,a):(a=Vn(a,s,n,null)).flags|=2,a.return=t,r.return=t,r.sibling=a,t.child=r,r=a,a=t.child,s=null===(s=e.child.memoizedState)?Rl(n):{baseLanes:s.baseLanes|n,cachePool:null,transitions:s.transitions},a.memoizedState=s,a.childLanes=e.childLanes&~n,t.memoizedState=xl,r}return e=(a=e.child).sibling,r=Nn(a,{mode:"visible",children:r.children}),!(1&t.mode)&&(r.lanes=n),r.return=t,r.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function Ll(e,t){return(t=ns({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function za(e,t,n,r){return null!==r&&ol(r),Dr(t,e.child,null,n),(e=Ll(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Vd(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),ll(e.return,t,n)}function Ol(e,t,n,r,o){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=o)}function zd(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;if(Ke(e,t,r.children,n),2&(r=_e.current))r=1&r|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Vd(e,n,t);else if(19===e.tag)Vd(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(pe(_e,r),1&t.mode)switch(o){case"forwards":for(n=t.child,o=null;null!==n;)null!==(e=n.alternate)&&null===Ba(e)&&(o=n),n=n.sibling;null===(n=o)?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),Ol(t,!1,o,n,a);break;case"backwards":for(n=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===Ba(e)){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}Ol(t,!0,n,null,a);break;case"together":Ol(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function Ga(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function nn(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Pn|=t.lanes,!(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(M(153));if(null!==t.child){for(n=Nn(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Nn(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function So(e,t){if(!Ae)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Ve(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=14680064&o.subtreeFlags,r|=14680064&o.flags,o.return=e,o=o.sibling;else for(o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Jm(e,t,n){var r=t.pendingProps;switch(tl(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ve(t),null;case 1:case 17:return et(t.type)&&Ca(),Ve(t),null;case 3:return r=t.stateNode,yr(),Ee(Je),Ee(qe),hl(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(null===e||null===e.child)&&(Ra(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==xt&&(Gl(xt),xt=null))),kl(e,t),Ve(t),null;case 5:gl(t);var o=Fn(Do.current);if(n=t.type,null!==e&&null!=t.stateNode)$d(e,t,n,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(M(166));return Ve(t),null}if(e=Fn(qt.current),Ra(t)){r=t.stateNode,n=t.type;var a=t.memoizedProps;switch(r[Ut]=t,r[Eo]=a,e=0!=(1&t.mode),n){case"dialog":he("cancel",r),he("close",r);break;case"iframe":case"object":case"embed":he("load",r);break;case"video":case"audio":for(o=0;o<\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),"select"===n&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[Ut]=t,e[Eo]=r,Gd(e,t,!1,!1),t.stateNode=e;e:{switch(s=gi(n,r),n){case"dialog":he("cancel",e),he("close",e),o=r;break;case"iframe":case"object":case"embed":he("load",e),o=r;break;case"video":case"audio":for(o=0;oSr&&(t.flags|=128,r=!0,So(a,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=Ba(s))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),So(a,!0),null===a.tail&&"hidden"===a.tailMode&&!s.alternate&&!Ae)return Ve(t),null}else 2*Ne()-a.renderingStartTime>Sr&&1073741824!==n&&(t.flags|=128,r=!0,So(a,!1),t.lanes=4194304);a.isBackwards?(s.sibling=t.child,t.child=s):(null!==(n=a.last)?n.sibling=s:t.child=s,a.last=s)}return null!==a.tail?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=Ne(),t.sibling=null,n=_e.current,pe(_e,r?1&n|2:1&n),t):(Ve(t),null);case 22:case 23:return Zl(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&1&t.mode?1073741824&pt&&(Ve(t),6&t.subtreeFlags&&(t.flags|=8192)):Ve(t),null;case 24:case 25:return null}throw Error(M(156,t.tag))}function eh(e,t){switch(tl(t),t.tag){case 1:return et(t.type)&&Ca(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return yr(),Ee(Je),Ee(qe),hl(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return gl(t),null;case 13:if(Ee(_e),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(M(340));br()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Ee(_e),null;case 4:return yr(),null;case 10:return il(t.type._context),null;case 22:case 23:return Zl(),null;default:return null}}Gd=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},kl=function(){},$d=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,Fn(qt.current);var s,a=null;switch(n){case"input":o=li(e,o),r=li(e,r),a=[];break;case"select":o=be({},o,{value:void 0}),r=be({},r,{value:void 0}),a=[];break;case"textarea":o=di(e,o),r=di(e,r),a=[];break;default:"function"!=typeof o.onClick&&"function"==typeof r.onClick&&(e.onclick=ya)}for(u in fi(n,r),n=null,o)if(!r.hasOwnProperty(u)&&o.hasOwnProperty(u)&&null!=o[u])if("style"===u){var i=o[u];for(s in i)i.hasOwnProperty(s)&&(n||(n={}),n[s]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(Gr.hasOwnProperty(u)?a||(a=[]):(a=a||[]).push(u,null));for(u in r){var l=r[u];if(i=null!=o?o[u]:void 0,r.hasOwnProperty(u)&&l!==i&&(null!=l||null!=i))if("style"===u)if(i){for(s in i)!i.hasOwnProperty(s)||l&&l.hasOwnProperty(s)||(n||(n={}),n[s]="");for(s in l)l.hasOwnProperty(s)&&i[s]!==l[s]&&(n||(n={}),n[s]=l[s])}else n||(a||(a=[]),a.push(u,n)),n=l;else"dangerouslySetInnerHTML"===u?(l=l?l.__html:void 0,i=i?i.__html:void 0,null!=l&&i!==l&&(a=a||[]).push(u,l)):"children"===u?"string"!=typeof l&&"number"!=typeof l||(a=a||[]).push(u,""+l):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(Gr.hasOwnProperty(u)?(null!=l&&"onScroll"===u&&he("scroll",e),a||i===l||(a=[])):(a=a||[]).push(u,l))}n&&(a=a||[]).push("style",n);var u=a;(t.updateQueue=u)&&(t.flags|=4)}},Zd=function(e,t,n,r){n!==r&&(t.flags|=4)};var $a=!1,ze=!1,th="function"==typeof WeakSet?WeakSet:Set,U=null;function Cr(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(r){ye(e,t,r)}else n.current=null}function Il(e,t,n){try{n()}catch(r){ye(e,t,r)}}var jd=!1;function wo(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var o=r=r.next;do{if((o.tag&e)===e){var a=o.destroy;o.destroy=void 0,void 0!==a&&Il(t,n,a)}o=o.next}while(o!==r)}}function Za(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Ml(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function Wd(e){var t=e.alternate;null!==t&&(e.alternate=null,Wd(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[Ut],delete t[Eo],delete t[Xi],delete t[Pm],delete t[Um])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Yd(e){return 5===e.tag||3===e.tag||4===e.tag}function Kd(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||Yd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags||null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function Fl(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=ya));else if(4!==r&&null!==(e=e.child))for(Fl(e,t,n),e=e.sibling;null!==e;)Fl(e,t,n),e=e.sibling}function Bl(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(Bl(e,t,n),e=e.sibling;null!==e;)Bl(e,t,n),e=e.sibling}var Fe=null,Lt=!1;function vn(e,t,n){for(n=n.child;null!==n;)Xd(e,t,n),n=n.sibling}function Xd(e,t,n){if(Pt&&"function"==typeof Pt.onCommitFiberUnmount)try{Pt.onCommitFiberUnmount(aa,n)}catch{}switch(n.tag){case 5:ze||Cr(n,t);case 6:var r=Fe,o=Lt;Fe=null,vn(e,t,n),Lt=o,null!==(Fe=r)&&(Lt?(e=Fe,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):Fe.removeChild(n.stateNode));break;case 18:null!==Fe&&(Lt?(e=Fe,n=n.stateNode,8===e.nodeType?Ki(e.parentNode,n):1===e.nodeType&&Ki(e,n),ao(e)):Ki(Fe,n.stateNode));break;case 4:r=Fe,o=Lt,Fe=n.stateNode.containerInfo,Lt=!0,vn(e,t,n),Fe=r,Lt=o;break;case 0:case 11:case 14:case 15:if(!ze&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){o=r=r.next;do{var a=o,s=a.destroy;a=a.tag,void 0!==s&&(2&a||4&a)&&Il(n,t,s),o=o.next}while(o!==r)}vn(e,t,n);break;case 1:if(!ze&&(Cr(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(i){ye(n,t,i)}vn(e,t,n);break;case 21:vn(e,t,n);break;case 22:1&n.mode?(ze=(r=ze)||null!==n.memoizedState,vn(e,t,n),ze=r):vn(e,t,n);break;default:vn(e,t,n)}}function Qd(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new th),t.forEach((function(r){var o=dh.bind(null,e,r);n.has(r)||(n.add(r),r.then(o,o))}))}}function Ot(e,t){var n=t.deletions;if(null!==n)for(var r=0;ro&&(o=s),r&=~a}if(r=o,10<(r=(120>(r=Ne()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*oh(r/1960))-r)){e.timeoutHandle=Yi(Hn.bind(null,e,nt,rn),r);break}Hn(e,nt,rn);break;default:throw Error(M(329))}}}return rt(e,Ne()),e.callbackNode===n?o2.bind(null,e):null}function zl(e,t){var n=Ro;return e.current.memoizedState.isDehydrated&&(qn(e,t).flags|=256),2!==(e=es(e,t))&&(t=nt,nt=n,null!==t&&Gl(t)),e}function Gl(e){null===nt?nt=e:nt.push.apply(nt,e)}function Cn(e,t){for(t&=~Ul,t&=~Wa,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0e?16:e,null===yn)var r=!1;else{if(e=yn,yn=null,Xa=0,6&re)throw Error(M(331));var o=re;for(re|=4,U=e.current;null!==U;){var a=U,s=a.child;if(16&U.flags){var i=a.deletions;if(null!==i){for(var l=0;lNe()-ql?qn(e,0):Ul|=n),rt(e,t)}function d2(e,t){0===t&&(1&e.mode?(t=ia,!(130023424&(ia<<=1))&&(ia=4194304)):t=1);var n=Xe();null!==(e=en(e,t))&&(eo(e,t,n),rt(e,n))}function ch(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),d2(e,n)}function dh(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;null!==o&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(M(314))}null!==r&&r.delete(t),d2(e,n)}function f2(e,t){return $c(e,t)}function ph(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Dt(e,t,n,r){return new ph(e,t,n,r)}function Wl(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Nn(e,t){var n=e.alternate;return null===n?((n=Dt(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ts(e,t,n,r,o,a){var s=2;if(r=e,"function"==typeof e)Wl(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case rr:return Vn(n.children,o,a,t);case Qs:s=8,o|=8;break;case Js:return(e=Dt(12,n,t,2|o)).elementType=Js,e.lanes=a,e;case ti:return(e=Dt(13,n,t,o)).elementType=ti,e.lanes=a,e;case ni:return(e=Dt(19,n,t,o)).elementType=ni,e.lanes=a,e;case vc:return ns(n,o,a,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case bc:s=10;break e;case _c:s=9;break e;case ei:s=11;break e;case ri:s=14;break e;case sn:s=16,r=null;break e}throw Error(M(130,null==e?e:typeof e,""))}return(t=Dt(s,n,t,o)).elementType=e,t.type=r,t.lanes=a,t}function Vn(e,t,n,r){return(e=Dt(7,e,r,t)).lanes=n,e}function ns(e,t,n,r){return(e=Dt(22,e,r,t)).elementType=vc,e.lanes=n,e.stateNode={isHidden:!1},e}function Yl(e,t,n){return(e=Dt(6,e,null,t)).lanes=n,e}function Kl(e,t,n){return(t=Dt(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function gh(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=yi(0),this.expirationTimes=yi(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=yi(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Xl(e,t,n,r,o,a,s,i,l){return e=new gh(e,t,n,i,l),1===t?(t=1,!0===a&&(t|=8)):t=0,a=Dt(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},cl(a),e}function g2(e){if(!e)return En;e:{if(Rn(e=e._reactInternals)!==e||1!==e.tag)throw Error(M(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(et(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(M(171))}if(1===e.tag){var n=e.type;if(et(n))return H0(e,n,t)}return t}function m2(e,t,n,r,o,a,s,i,l){return(e=Xl(n,r,!0,e,0,a,0,i,l)).context=g2(null),n=e.current,(a=tn(r=Xe(),o=Tn(n))).callback=t??null,_n(n,a,o),e.current.lanes=o,eo(e,o,r),rt(e,r),e}function rs(e,t,n,r){var o=t.current,a=Xe(),s=Tn(o);return n=g2(n),null===t.context?t.context=n:t.pendingContext=n,(t=tn(a,s)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=_n(o,t,s))&&(kt(e,o,s,a),ka(e,o,s)),s}function os(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function h2(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n"u"||"function"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(b2)}catch(e){console.error(e)}}(),pc.exports=it;var _2=pc.exports;js.createRoot=_2.createRoot,js.hydrateRoot=_2.hydrateRoot;const v2={embedId:null,baseApiUrl:null,prompt:null,model:null,temperature:null,chatIcon:"plus",brandImageUrl:null,greeting:null,buttonColor:"#262626",userBgColor:"#2C2F35",assistantBgColor:"#2563eb",noSponsor:null,sponsorText:"Powered by AnythingLLM",sponsorLink:"https://useanything.com",position:"bottom-right",assistantName:"AnythingLLM Chat Assistant",assistantIcon:null,windowHeight:null,windowWidth:null,textSize:null,openOnLoad:"off",supportEmail:null};let us;const Dh=new Uint8Array(16);function yh(){if(!us&&(us=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!us))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return us(Dh)}const Pe=[];for(let e=0;e<256;++e)Pe.push((e+256).toString(16).slice(1));const D2={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function zn(e,t,n){if(D2.randomUUID&&!t&&!e)return D2.randomUUID();const r=(e=e||{}).random||(e.rng||yh)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(let o=0;o<16;++o)t[n+o]=r[o];return t}return function(e,t=0){return Pe[e[t+0]]+Pe[e[t+1]]+Pe[e[t+2]]+Pe[e[t+3]]+"-"+Pe[e[t+4]]+Pe[e[t+5]]+"-"+Pe[e[t+6]]+Pe[e[t+7]]+"-"+Pe[e[t+8]]+Pe[e[t+9]]+"-"+Pe[e[t+10]]+Pe[e[t+11]]+Pe[e[t+12]]+Pe[e[t+13]]+Pe[e[t+14]]+Pe[e[t+15]]}(r)}function y2(){const[e,t]=Z.useState("");return Z.useEffect((()=>{!function(){var s,i;if(!window||null==(s=null==Te?void 0:Te.settings)||!s.embedId)return;const r=`allm_${null==(i=null==Te?void 0:Te.settings)?void 0:i.embedId}_session_id`,o=window.localStorage.getItem(r);if(o)return console.log("Resuming session id",o),void t(o);const a=zn();console.log("Registering new session id",a),window.localStorage.setItem(r,a),t(a)}()}),[window]),e}const tu="___anythingllm-chat-widget-open___";const Nh="\npre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!\n Theme: GitHub Dark Dimmed\n Description: Dark dimmed theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n\n Colors taken from GitHub's CSS\n*/.hljs{color:#adbac7;background:#22272e}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#f47067}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#dcbdfb}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#6cb6ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#96d0ff}.hljs-built_in,.hljs-symbol{color:#f69d50}.hljs-code,.hljs-comment,.hljs-formula{color:#768390}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#8ddb8c}.hljs-subst{color:#adbac7}.hljs-section{color:#316dca;font-weight:700}.hljs-bullet{color:#eac55f}.hljs-emphasis{color:#adbac7;font-style:italic}.hljs-strong{color:#adbac7;font-weight:700}.hljs-addition{color:#b4f1b4;background-color:#1b4721}.hljs-deletion{color:#ffd8d3;background-color:#78191b}\n",Sh='\n /**\n * ==============================================\n * Dot Falling\n * ==============================================\n */\n .dot-falling {\n position: relative;\n left: -9999px;\n width: 10px;\n height: 10px;\n border-radius: 5px;\n background-color: #000000;\n color: #5fa4fa;\n box-shadow: 9999px 0 0 0 #000000;\n animation: dot-falling 1.5s infinite linear;\n animation-delay: 0.1s;\n }\n\n .dot-falling::before,\n .dot-falling::after {\n content: "";\n display: inline-block;\n position: absolute;\n top: 0;\n }\n\n .dot-falling::before {\n width: 10px;\n height: 10px;\n border-radius: 5px;\n background-color: #000000;\n color: #000000;\n animation: dot-falling-before 1.5s infinite linear;\n animation-delay: 0s;\n }\n\n .dot-falling::after {\n width: 10px;\n height: 10px;\n border-radius: 5px;\n background-color: #000000;\n color: #000000;\n animation: dot-falling-after 1.5s infinite linear;\n animation-delay: 0.2s;\n }\n\n @keyframes dot-falling {\n 0% {\n box-shadow: 9999px -15px 0 0 rgba(152, 128, 255, 0);\n }\n 25%,\n 50%,\n 75% {\n box-shadow: 9999px 0 0 0 #000000;\n }\n 100% {\n box-shadow: 9999px 15px 0 0 rgba(152, 128, 255, 0);\n }\n }\n\n @keyframes dot-falling-before {\n 0% {\n box-shadow: 9984px -15px 0 0 rgba(152, 128, 255, 0);\n }\n 25%,\n 50%,\n 75% {\n box-shadow: 9984px 0 0 0 #000000;\n }\n 100% {\n box-shadow: 9984px 15px 0 0 rgba(152, 128, 255, 0);\n }\n }\n\n @keyframes dot-falling-after {\n 0% {\n box-shadow: 10014px -15px 0 0 rgba(152, 128, 255, 0);\n }\n 25%,\n 50%,\n 75% {\n box-shadow: 10014px 0 0 0 #000000;\n }\n 100% {\n box-shadow: 10014px 15px 0 0 rgba(152, 128, 255, 0);\n }\n }\n\n #chat-history::-webkit-scrollbar,\n #chat-container::-webkit-scrollbar,\n .no-scroll::-webkit-scrollbar {\n display: none !important;\n }\n\n /* Hide scrollbar for IE, Edge and Firefox */\n #chat-history,\n #chat-container,\n .no-scroll {\n -ms-overflow-style: none !important; /* IE and Edge */\n scrollbar-width: none !important; /* Firefox */\n }\n\n .animate-slow-pulse {\n transform: scale(1);\n animation: subtlePulse 20s infinite;\n will-change: transform;\n }\n\n @keyframes subtlePulse {\n 0% {\n transform: scale(1);\n }\n 50% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n }\n }\n\n @keyframes subtleShift {\n 0% {\n background-position: 0% 50%;\n }\n 50% {\n background-position: 100% 50%;\n }\n 100% {\n background-position: 0% 50%;\n }\n }\n\n .bg-black-900 {\n background: #141414;\n }\n';function wh(){return w.jsxs("head",{children:[w.jsx("style",{children:Nh}),w.jsx("style",{children:Sh})]})}const xh=Z.createContext({color:"currentColor",size:"1em",weight:"regular",mirrored:!1});var Rh=Object.defineProperty,cs=Object.getOwnPropertySymbols,T2=Object.prototype.hasOwnProperty,C2=Object.prototype.propertyIsEnumerable,N2=(e,t,n)=>t in e?Rh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,S2=(e,t)=>{for(var n in t||(t={}))T2.call(t,n)&&N2(e,n,t[n]);if(cs)for(var n of cs(t))C2.call(t,n)&&N2(e,n,t[n]);return e},w2=(e,t)=>{var n={};for(var r in e)T2.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&cs)for(var r of cs(e))t.indexOf(r)<0&&C2.call(e,r)&&(n[r]=e[r]);return n};const Ue=Z.forwardRef(((e,t)=>{const n=e,{alt:r,color:o,size:a,weight:s,mirrored:i,children:l,weights:u}=n,c=w2(n,["alt","color","size","weight","mirrored","children","weights"]),p=Z.useContext(xh),{color:d="currentColor",size:m,weight:A="regular",mirrored:b=!1}=p,C=w2(p,["color","size","weight","mirrored"]);return f.createElement("svg",S2(S2({ref:t,xmlns:"http://www.w3.org/2000/svg",width:a??m,height:a??m,fill:o??d,viewBox:"0 0 256 256",transform:i||b?"scale(-1, 1)":void 0},C),c),!!r&&f.createElement("title",null,r),l,u.get(s??A))}));Ue.displayName="IconBase";const Lh=new Map([["bold",f.createElement(f.Fragment,null,f.createElement("path",{d:"M228,128a100,100,0,0,1-98.66,100H128a99.39,99.39,0,0,1-68.62-27.29,12,12,0,0,1,16.48-17.45,76,76,0,1,0-1.57-109c-.13.13-.25.25-.39.37L54.89,92H72a12,12,0,0,1,0,24H24a12,12,0,0,1-12-12V56a12,12,0,0,1,24,0V76.72L57.48,57.06A100,100,0,0,1,228,128Z"}))],["duotone",f.createElement(f.Fragment,null,f.createElement("path",{d:"M72,104H24V56Z",opacity:"0.2"}),f.createElement("path",{d:"M195.88,60.08A96.08,96.08,0,0,0,60.25,60L49.31,70,29.66,50.3A8,8,0,0,0,16,56v48a8,8,0,0,0,8,8H72a8,8,0,0,0,5.66-13.66l-17-17,10.54-9.65a3.07,3.07,0,0,0,.26-.25,80,80,0,1,1,1.65,114.78,8,8,0,0,0-11,11.63A95.38,95.38,0,0,0,128,224h1.32A96,96,0,0,0,195.88,60.08ZM32,96V75.28L52.69,96Z"}))],["fill",f.createElement(f.Fragment,null,f.createElement("path",{d:"M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L60.63,81.29l17,17A8,8,0,0,1,72,112H24a8,8,0,0,1-8-8V56A8,8,0,0,1,29.66,50.3L49.31,70,60.25,60A96,96,0,0,1,224,128Z"}))],["light",f.createElement(f.Fragment,null,f.createElement("path",{d:"M222,128a94,94,0,0,1-92.74,94H128a93.43,93.43,0,0,1-64.5-25.65,6,6,0,1,1,8.24-8.72A82,82,0,1,0,70,70l-.19.19L39.44,98H72a6,6,0,0,1,0,12H24a6,6,0,0,1-6-6V56a6,6,0,0,1,12,0V90.34L61.63,61.4A94,94,0,0,1,222,128Z"}))],["regular",f.createElement(f.Fragment,null,f.createElement("path",{d:"M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L44.59,96H72a8,8,0,0,1,0,16H24a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0V85.8L60.25,60A96,96,0,0,1,224,128Z"}))],["thin",f.createElement(f.Fragment,null,f.createElement("path",{d:"M220,128a92,92,0,0,1-90.77,92H128a91.47,91.47,0,0,1-63.13-25.1,4,4,0,1,1,5.5-5.82A84,84,0,1,0,68.6,68.57l-.13.12L34.3,100H72a4,4,0,0,1,0,8H24a4,4,0,0,1-4-4V56a4,4,0,0,1,8,0V94.89l35-32A92,92,0,0,1,220,128Z"}))]]);var Oh=Object.defineProperty,kh=Object.defineProperties,Ih=Object.getOwnPropertyDescriptors,x2=Object.getOwnPropertySymbols,Mh=Object.prototype.hasOwnProperty,Fh=Object.prototype.propertyIsEnumerable,R2=(e,t,n)=>t in e?Oh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const L2=Z.forwardRef(((e,t)=>f.createElement(Ue,((e,t)=>kh(e,Ih(t)))(((e,t)=>{for(var n in t||(t={}))Mh.call(t,n)&&R2(e,n,t[n]);if(x2)for(var n of x2(t))Fh.call(t,n)&&R2(e,n,t[n]);return e})({ref:t},e),{weights:Lh}))));L2.displayName="ArrowCounterClockwise";const Uh=new Map([["bold",f.createElement(f.Fragment,null,f.createElement("path",{d:"M208.49,152.49l-72,72a12,12,0,0,1-17,0l-72-72a12,12,0,0,1,17-17L116,187V40a12,12,0,0,1,24,0V187l51.51-51.52a12,12,0,0,1,17,17Z"}))],["duotone",f.createElement(f.Fragment,null,f.createElement("path",{d:"M200,144l-72,72L56,144Z",opacity:"0.2"}),f.createElement("path",{d:"M207.39,140.94A8,8,0,0,0,200,136H136V40a8,8,0,0,0-16,0v96H56a8,8,0,0,0-5.66,13.66l72,72a8,8,0,0,0,11.32,0l72-72A8,8,0,0,0,207.39,140.94ZM128,204.69,75.31,152H180.69Z"}))],["fill",f.createElement(f.Fragment,null,f.createElement("path",{d:"M205.66,149.66l-72,72a8,8,0,0,1-11.32,0l-72-72A8,8,0,0,1,56,136h64V40a8,8,0,0,1,16,0v96h64a8,8,0,0,1,5.66,13.66Z"}))],["light",f.createElement(f.Fragment,null,f.createElement("path",{d:"M204.24,148.24l-72,72a6,6,0,0,1-8.48,0l-72-72a6,6,0,0,1,8.48-8.48L122,201.51V40a6,6,0,0,1,12,0V201.51l61.76-61.75a6,6,0,0,1,8.48,8.48Z"}))],["regular",f.createElement(f.Fragment,null,f.createElement("path",{d:"M205.66,149.66l-72,72a8,8,0,0,1-11.32,0l-72-72a8,8,0,0,1,11.32-11.32L120,196.69V40a8,8,0,0,1,16,0V196.69l58.34-58.35a8,8,0,0,1,11.32,11.32Z"}))],["thin",f.createElement(f.Fragment,null,f.createElement("path",{d:"M202.83,146.83l-72,72a4,4,0,0,1-5.66,0l-72-72a4,4,0,0,1,5.66-5.66L124,206.34V40a4,4,0,0,1,8,0V206.34l65.17-65.17a4,4,0,0,1,5.66,5.66Z"}))]]);var qh=Object.defineProperty,Hh=Object.defineProperties,Vh=Object.getOwnPropertyDescriptors,O2=Object.getOwnPropertySymbols,zh=Object.prototype.hasOwnProperty,Gh=Object.prototype.propertyIsEnumerable,k2=(e,t,n)=>t in e?qh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const I2=Z.forwardRef(((e,t)=>f.createElement(Ue,((e,t)=>Hh(e,Vh(t)))(((e,t)=>{for(var n in t||(t={}))zh.call(t,n)&&k2(e,n,t[n]);if(O2)for(var n of O2(t))Gh.call(t,n)&&k2(e,n,t[n]);return e})({ref:t},e),{weights:Uh}))));I2.displayName="ArrowDown";const jh=new Map([["bold",f.createElement(f.Fragment,null,f.createElement("path",{d:"M241,150.65s0,0,0-.05a51.33,51.33,0,0,0-2.53-5.9L196.93,50.18a12,12,0,0,0-2.5-3.65,36,36,0,0,0-50.92,0A12,12,0,0,0,140,55V76H116V55a12,12,0,0,0-3.51-8.48,36,36,0,0,0-50.92,0,12,12,0,0,0-2.5,3.65L17.53,144.7A51.33,51.33,0,0,0,15,150.6s0,0,0,.05A52,52,0,1,0,116,168V100h24v68a52,52,0,1,0,101-17.35ZM80,62.28a12,12,0,0,1,12-1.22v63.15a51.9,51.9,0,0,0-35.9-7.62ZM64,196a28,28,0,1,1,28-28A28,28,0,0,1,64,196ZM164,61.06a12.06,12.06,0,0,1,12,1.22l23.87,54.31a51.9,51.9,0,0,0-35.9,7.62ZM192,196a28,28,0,1,1,28-28A28,28,0,0,1,192,196Z"}))],["duotone",f.createElement(f.Fragment,null,f.createElement("path",{d:"M104,168a40,40,0,1,1-40-40A40,40,0,0,1,104,168Zm88-40a40,40,0,1,0,40,40A40,40,0,0,0,192,128Z",opacity:"0.2"}),f.createElement("path",{d:"M237.2,151.87v0a47.1,47.1,0,0,0-2.35-5.45L193.26,51.8a7.82,7.82,0,0,0-1.66-2.44,32,32,0,0,0-45.26,0A8,8,0,0,0,144,55V80H112V55a8,8,0,0,0-2.34-5.66,32,32,0,0,0-45.26,0,7.82,7.82,0,0,0-1.66,2.44L21.15,146.4a47.1,47.1,0,0,0-2.35,5.45v0A48,48,0,1,0,112,168V96h32v72a48,48,0,1,0,93.2-16.13ZM76.71,59.75a16,16,0,0,1,19.29-1v73.51a47.9,47.9,0,0,0-46.79-9.92ZM64,200a32,32,0,1,1,32-32A32,32,0,0,1,64,200ZM160,58.74a16,16,0,0,1,19.29,1l27.5,62.58A47.9,47.9,0,0,0,160,132.25ZM192,200a32,32,0,1,1,32-32A32,32,0,0,1,192,200Z"}))],["fill",f.createElement(f.Fragment,null,f.createElement("path",{d:"M237.22,151.9l0-.1a1.42,1.42,0,0,0-.07-.22,48.46,48.46,0,0,0-2.31-5.3L193.27,51.8a8,8,0,0,0-1.67-2.44,32,32,0,0,0-45.26,0A8,8,0,0,0,144,55V80H112V55a8,8,0,0,0-2.34-5.66,32,32,0,0,0-45.26,0,8,8,0,0,0-1.67,2.44L21.2,146.28a48.46,48.46,0,0,0-2.31,5.3,1.72,1.72,0,0,0-.07.21s0,.08,0,.11a48,48,0,0,0,90.32,32.51,47.49,47.49,0,0,0,2.9-16.59V96h32v71.83a47.49,47.49,0,0,0,2.9,16.59,48,48,0,0,0,90.32-32.51Zm-143.15,27a32,32,0,0,1-60.2-21.71l1.81-4.13A32,32,0,0,1,96,167.88V168h0A32,32,0,0,1,94.07,178.94ZM203,198.07A32,32,0,0,1,160,168h0v-.11a32,32,0,0,1,60.32-14.78l1.81,4.13A32,32,0,0,1,203,198.07Z"}))],["light",f.createElement(f.Fragment,null,f.createElement("path",{d:"M233,147.24,191.43,52.6a6,6,0,0,0-1.25-1.83,30,30,0,0,0-42.42,0A6,6,0,0,0,146,55V82H110V55a6,6,0,0,0-1.76-4.25,30,30,0,0,0-42.42,0,6,6,0,0,0-1.25,1.83L23,147.24A46,46,0,1,0,110,168V94h36v74a46,46,0,1,0,87-20.76ZM64,202a34,34,0,1,1,34-34A34,34,0,0,1,64,202Zm0-80a45.77,45.77,0,0,0-18.55,3.92L75.06,58.54A18,18,0,0,1,98,57.71V137A45.89,45.89,0,0,0,64,122Zm94-64.28a18,18,0,0,1,22.94.83l29.61,67.37A45.9,45.9,0,0,0,158,137ZM192,202a34,34,0,1,1,34-34A34,34,0,0,1,192,202Z"}))],["regular",f.createElement(f.Fragment,null,f.createElement("path",{d:"M237.2,151.87v0a47.1,47.1,0,0,0-2.35-5.45L193.26,51.8a7.82,7.82,0,0,0-1.66-2.44,32,32,0,0,0-45.26,0A8,8,0,0,0,144,55V80H112V55a8,8,0,0,0-2.34-5.66,32,32,0,0,0-45.26,0,7.82,7.82,0,0,0-1.66,2.44L21.15,146.4a47.1,47.1,0,0,0-2.35,5.45v0A48,48,0,1,0,112,168V96h32v72a48,48,0,1,0,93.2-16.13ZM76.71,59.75a16,16,0,0,1,19.29-1v73.51a47.9,47.9,0,0,0-46.79-9.92ZM64,200a32,32,0,1,1,32-32A32,32,0,0,1,64,200ZM160,58.74a16,16,0,0,1,19.29,1l27.5,62.58A47.9,47.9,0,0,0,160,132.25ZM192,200a32,32,0,1,1,32-32A32,32,0,0,1,192,200Z"}))],["thin",f.createElement(f.Fragment,null,f.createElement("path",{d:"M231.22,148.09,189.6,53.41a3.94,3.94,0,0,0-.83-1.22,28,28,0,0,0-39.6,0A4,4,0,0,0,148,55V84H108V55a4,4,0,0,0-1.17-2.83,28,28,0,0,0-39.6,0,3.94,3.94,0,0,0-.83,1.22L24.78,148.09A44,44,0,1,0,108,168V92h40v76a44,44,0,1,0,83.22-19.91ZM64,204a36,36,0,1,1,36-36A36,36,0,0,1,64,204Zm0-80a43.78,43.78,0,0,0-22.66,6.3L73.4,57.35a20,20,0,0,1,26.6-.59v86A44,44,0,0,0,64,124Zm92-67.23a20,20,0,0,1,26.6.59l32.06,72.94A43.92,43.92,0,0,0,156,142.74ZM192,204a36,36,0,1,1,36-36A36,36,0,0,1,192,204Z"}))]]);var Wh=Object.defineProperty,Yh=Object.defineProperties,Kh=Object.getOwnPropertyDescriptors,M2=Object.getOwnPropertySymbols,Xh=Object.prototype.hasOwnProperty,Qh=Object.prototype.propertyIsEnumerable,F2=(e,t,n)=>t in e?Wh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const B2=Z.forwardRef(((e,t)=>f.createElement(Ue,((e,t)=>Yh(e,Kh(t)))(((e,t)=>{for(var n in t||(t={}))Xh.call(t,n)&&F2(e,n,t[n]);if(M2)for(var n of M2(t))Qh.call(t,n)&&F2(e,n,t[n]);return e})({ref:t},e),{weights:jh}))));B2.displayName="Binoculars";const tE=new Map([["bold",f.createElement(f.Fragment,null,f.createElement("path",{d:"M120,128a16,16,0,1,1-16-16A16,16,0,0,1,120,128Zm32-16a16,16,0,1,0,16,16A16,16,0,0,0,152,112Zm84,16A108,108,0,0,1,78.77,224.15L46.34,235A20,20,0,0,1,21,209.66l10.81-32.43A108,108,0,1,1,236,128Zm-24,0A84,84,0,1,0,55.27,170.06a12,12,0,0,1,1,9.81l-9.93,29.79,29.79-9.93a12.1,12.1,0,0,1,3.8-.62,12,12,0,0,1,6,1.62A84,84,0,0,0,212,128Z"}))],["duotone",f.createElement(f.Fragment,null,f.createElement("path",{d:"M224,128A96,96,0,0,1,79.93,211.11h0L42.54,223.58a8,8,0,0,1-10.12-10.12l12.47-37.39h0A96,96,0,1,1,224,128Z",opacity:"0.2"}),f.createElement("path",{d:"M128,24A104,104,0,0,0,36.18,176.88L24.83,210.93a16,16,0,0,0,20.24,20.24l34.05-11.35A104,104,0,1,0,128,24Zm0,192a87.87,87.87,0,0,1-44.06-11.81,8,8,0,0,0-4-1.08,7.85,7.85,0,0,0-2.53.42L40,216,52.47,178.6a8,8,0,0,0-.66-6.54A88,88,0,1,1,128,216Zm12-88a12,12,0,1,1-12-12A12,12,0,0,1,140,128Zm-44,0a12,12,0,1,1-12-12A12,12,0,0,1,96,128Zm88,0a12,12,0,1,1-12-12A12,12,0,0,1,184,128Z"}))],["fill",f.createElement(f.Fragment,null,f.createElement("path",{d:"M128,24A104,104,0,0,0,36.18,176.88L24.83,210.93a16,16,0,0,0,20.24,20.24l34.05-11.35A104,104,0,1,0,128,24ZM84,140a12,12,0,1,1,12-12A12,12,0,0,1,84,140Zm44,0a12,12,0,1,1,12-12A12,12,0,0,1,128,140Zm44,0a12,12,0,1,1,12-12A12,12,0,0,1,172,140Z"}))],["light",f.createElement(f.Fragment,null,f.createElement("path",{d:"M138,128a10,10,0,1,1-10-10A10,10,0,0,1,138,128ZM84,118a10,10,0,1,0,10,10A10,10,0,0,0,84,118Zm88,0a10,10,0,1,0,10,10A10,10,0,0,0,172,118Zm58,10A102,102,0,0,1,79.31,217.65L44.44,229.27a14,14,0,0,1-17.71-17.71l11.62-34.87A102,102,0,1,1,230,128Zm-12,0A90,90,0,1,0,50.08,173.06a6,6,0,0,1,.5,4.91L38.12,215.35a2,2,0,0,0,2.53,2.53L78,205.42a6.2,6.2,0,0,1,1.9-.31,6.09,6.09,0,0,1,3,.81A90,90,0,0,0,218,128Z"}))],["regular",f.createElement(f.Fragment,null,f.createElement("path",{d:"M140,128a12,12,0,1,1-12-12A12,12,0,0,1,140,128ZM84,116a12,12,0,1,0,12,12A12,12,0,0,0,84,116Zm88,0a12,12,0,1,0,12,12A12,12,0,0,0,172,116Zm60,12A104,104,0,0,1,79.12,219.82L45.07,231.17a16,16,0,0,1-20.24-20.24l11.35-34.05A104,104,0,1,1,232,128Zm-16,0A88,88,0,1,0,51.81,172.06a8,8,0,0,1,.66,6.54L40,216,77.4,203.53a7.85,7.85,0,0,1,2.53-.42,8,8,0,0,1,4,1.08A88,88,0,0,0,216,128Z"}))],["thin",f.createElement(f.Fragment,null,f.createElement("path",{d:"M136,128a8,8,0,1,1-8-8A8,8,0,0,1,136,128Zm-52-8a8,8,0,1,0,8,8A8,8,0,0,0,84,120Zm88,0a8,8,0,1,0,8,8A8,8,0,0,0,172,120Zm56,8A100,100,0,0,1,79.5,215.47l-35.69,11.9a12,12,0,0,1-15.18-15.18l11.9-35.69A100,100,0,1,1,228,128Zm-8,0A92,92,0,1,0,48.35,174.07a4,4,0,0,1,.33,3.27L36.22,214.72a4,4,0,0,0,5.06,5.06l37.38-12.46a3.93,3.93,0,0,1,1.27-.21,4.05,4.05,0,0,1,2,.54A92,92,0,0,0,220,128Z"}))]]);var nE=Object.defineProperty,rE=Object.defineProperties,oE=Object.getOwnPropertyDescriptors,P2=Object.getOwnPropertySymbols,aE=Object.prototype.hasOwnProperty,sE=Object.prototype.propertyIsEnumerable,U2=(e,t,n)=>t in e?nE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const q2=Z.forwardRef(((e,t)=>f.createElement(Ue,((e,t)=>rE(e,oE(t)))(((e,t)=>{for(var n in t||(t={}))aE.call(t,n)&&U2(e,n,t[n]);if(P2)for(var n of P2(t))sE.call(t,n)&&U2(e,n,t[n]);return e})({ref:t},e),{weights:tE}))));q2.displayName="ChatCircleDots";const uE=new Map([["bold",f.createElement(f.Fragment,null,f.createElement("path",{d:"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z"}))],["duotone",f.createElement(f.Fragment,null,f.createElement("path",{d:"M232,56V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56Z",opacity:"0.2"}),f.createElement("path",{d:"M205.66,85.66l-96,96a8,8,0,0,1-11.32,0l-40-40a8,8,0,0,1,11.32-11.32L104,164.69l90.34-90.35a8,8,0,0,1,11.32,11.32Z"}))],["fill",f.createElement(f.Fragment,null,f.createElement("path",{d:"M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM205.66,85.66l-96,96a8,8,0,0,1-11.32,0l-40-40a8,8,0,0,1,11.32-11.32L104,164.69l90.34-90.35a8,8,0,0,1,11.32,11.32Z"}))],["light",f.createElement(f.Fragment,null,f.createElement("path",{d:"M228.24,76.24l-128,128a6,6,0,0,1-8.48,0l-56-56a6,6,0,0,1,8.48-8.48L96,191.51,219.76,67.76a6,6,0,0,1,8.48,8.48Z"}))],["regular",f.createElement(f.Fragment,null,f.createElement("path",{d:"M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"}))],["thin",f.createElement(f.Fragment,null,f.createElement("path",{d:"M226.83,74.83l-128,128a4,4,0,0,1-5.66,0l-56-56a4,4,0,0,1,5.66-5.66L96,194.34,221.17,69.17a4,4,0,1,1,5.66,5.66Z"}))]]);var cE=Object.defineProperty,dE=Object.defineProperties,pE=Object.getOwnPropertyDescriptors,H2=Object.getOwnPropertySymbols,fE=Object.prototype.hasOwnProperty,gE=Object.prototype.propertyIsEnumerable,V2=(e,t,n)=>t in e?cE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const z2=Z.forwardRef(((e,t)=>f.createElement(Ue,((e,t)=>dE(e,pE(t)))(((e,t)=>{for(var n in t||(t={}))fE.call(t,n)&&V2(e,n,t[n]);if(H2)for(var n of H2(t))gE.call(t,n)&&V2(e,n,t[n]);return e})({ref:t},e),{weights:uE}))));z2.displayName="Check";const EE=new Map([["bold",f.createElement(f.Fragment,null,f.createElement("path",{d:"M236,128a108,108,0,0,1-216,0c0-42.52,24.73-81.34,63-98.9A12,12,0,1,1,93,50.91C63.24,64.57,44,94.83,44,128a84,84,0,0,0,168,0c0-33.17-19.24-63.43-49-77.09A12,12,0,1,1,173,29.1C211.27,46.66,236,85.48,236,128Z"}))],["duotone",f.createElement(f.Fragment,null,f.createElement("path",{d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2"}),f.createElement("path",{d:"M232,128a104,104,0,0,1-208,0c0-41,23.81-78.36,60.66-95.27a8,8,0,0,1,6.68,14.54C60.15,61.59,40,93.27,40,128a88,88,0,0,0,176,0c0-34.73-20.15-66.41-51.34-80.73a8,8,0,0,1,6.68-14.54C208.19,49.64,232,87,232,128Z"}))],["fill",f.createElement(f.Fragment,null,f.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,176A72,72,0,0,1,92,65.64a8,8,0,0,1,8,13.85,56,56,0,1,0,56,0,8,8,0,0,1,8-13.85A72,72,0,0,1,128,200Z"}))],["light",f.createElement(f.Fragment,null,f.createElement("path",{d:"M230,128a102,102,0,0,1-204,0c0-40.18,23.35-76.86,59.5-93.45a6,6,0,0,1,5,10.9C58.61,60.09,38,92.49,38,128a90,90,0,0,0,180,0c0-35.51-20.61-67.91-52.5-82.55a6,6,0,0,1,5-10.9C206.65,51.14,230,87.82,230,128Z"}))],["regular",f.createElement(f.Fragment,null,f.createElement("path",{d:"M232,128a104,104,0,0,1-208,0c0-41,23.81-78.36,60.66-95.27a8,8,0,0,1,6.68,14.54C60.15,61.59,40,93.27,40,128a88,88,0,0,0,176,0c0-34.73-20.15-66.41-51.34-80.73a8,8,0,0,1,6.68-14.54C208.19,49.64,232,87,232,128Z"}))],["thin",f.createElement(f.Fragment,null,f.createElement("path",{d:"M228,128a100,100,0,0,1-200,0c0-39.4,22.9-75.37,58.33-91.63a4,4,0,1,1,3.34,7.27C57.07,58.6,36,91.71,36,128a92,92,0,0,0,184,0c0-36.29-21.07-69.4-53.67-84.36a4,4,0,1,1,3.34-7.27C205.1,52.63,228,88.6,228,128Z"}))]]);var AE=Object.defineProperty,bE=Object.defineProperties,_E=Object.getOwnPropertyDescriptors,G2=Object.getOwnPropertySymbols,vE=Object.prototype.hasOwnProperty,DE=Object.prototype.propertyIsEnumerable,$2=(e,t,n)=>t in e?AE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const nu=Z.forwardRef(((e,t)=>f.createElement(Ue,((e,t)=>bE(e,_E(t)))(((e,t)=>{for(var n in t||(t={}))vE.call(t,n)&&$2(e,n,t[n]);if(G2)for(var n of G2(t))DE.call(t,n)&&$2(e,n,t[n]);return e})({ref:t},e),{weights:EE}))));nu.displayName="CircleNotch";const CE=new Map([["bold",f.createElement(f.Fragment,null,f.createElement("path",{d:"M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z"}))],["duotone",f.createElement(f.Fragment,null,f.createElement("path",{d:"M216,40V168H168V88H88V40Z",opacity:"0.2"}),f.createElement("path",{d:"M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z"}))],["fill",f.createElement(f.Fragment,null,f.createElement("path",{d:"M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32Zm-8,128H176V88a8,8,0,0,0-8-8H96V48H208Z"}))],["light",f.createElement(f.Fragment,null,f.createElement("path",{d:"M216,34H88a6,6,0,0,0-6,6V82H40a6,6,0,0,0-6,6V216a6,6,0,0,0,6,6H168a6,6,0,0,0,6-6V174h42a6,6,0,0,0,6-6V40A6,6,0,0,0,216,34ZM162,210H46V94H162Zm48-48H174V88a6,6,0,0,0-6-6H94V46H210Z"}))],["regular",f.createElement(f.Fragment,null,f.createElement("path",{d:"M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z"}))],["thin",f.createElement(f.Fragment,null,f.createElement("path",{d:"M216,36H88a4,4,0,0,0-4,4V84H40a4,4,0,0,0-4,4V216a4,4,0,0,0,4,4H168a4,4,0,0,0,4-4V172h44a4,4,0,0,0,4-4V40A4,4,0,0,0,216,36ZM164,212H44V92H164Zm48-48H172V88a4,4,0,0,0-4-4H92V44H212Z"}))]]);var NE=Object.defineProperty,SE=Object.defineProperties,wE=Object.getOwnPropertyDescriptors,Z2=Object.getOwnPropertySymbols,xE=Object.prototype.hasOwnProperty,RE=Object.prototype.propertyIsEnumerable,j2=(e,t,n)=>t in e?NE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const W2=Z.forwardRef(((e,t)=>f.createElement(Ue,((e,t)=>SE(e,wE(t)))(((e,t)=>{for(var n in t||(t={}))xE.call(t,n)&&j2(e,n,t[n]);if(Z2)for(var n of Z2(t))RE.call(t,n)&&j2(e,n,t[n]);return e})({ref:t},e),{weights:CE}))));W2.displayName="Copy";const kE=new Map([["bold",f.createElement(f.Fragment,null,f.createElement("path",{d:"M128,96a32,32,0,1,0,32,32A32,32,0,0,0,128,96Zm0,40a8,8,0,1,1,8-8A8,8,0,0,1,128,136Zm0-56A32,32,0,1,0,96,48,32,32,0,0,0,128,80Zm0-40a8,8,0,1,1-8,8A8,8,0,0,1,128,40Zm0,136a32,32,0,1,0,32,32A32,32,0,0,0,128,176Zm0,40a8,8,0,1,1,8-8A8,8,0,0,1,128,216Z"}))],["duotone",f.createElement(f.Fragment,null,f.createElement("path",{d:"M152,128a24,24,0,1,1-24-24A24,24,0,0,1,152,128ZM128,72a24,24,0,1,0-24-24A24,24,0,0,0,128,72Zm0,112a24,24,0,1,0,24,24A24,24,0,0,0,128,184Z",opacity:"0.2"}),f.createElement("path",{d:"M128,96a32,32,0,1,0,32,32A32,32,0,0,0,128,96Zm0,48a16,16,0,1,1,16-16A16,16,0,0,1,128,144Zm0-64A32,32,0,1,0,96,48,32,32,0,0,0,128,80Zm0-48a16,16,0,1,1-16,16A16,16,0,0,1,128,32Zm0,144a32,32,0,1,0,32,32A32,32,0,0,0,128,176Zm0,48a16,16,0,1,1,16-16A16,16,0,0,1,128,224Z"}))],["fill",f.createElement(f.Fragment,null,f.createElement("path",{d:"M156,128a28,28,0,1,1-28-28A28,28,0,0,1,156,128ZM128,76a28,28,0,1,0-28-28A28,28,0,0,0,128,76Zm0,104a28,28,0,1,0,28,28A28,28,0,0,0,128,180Z"}))],["light",f.createElement(f.Fragment,null,f.createElement("path",{d:"M128,98a30,30,0,1,0,30,30A30,30,0,0,0,128,98Zm0,48a18,18,0,1,1,18-18A18,18,0,0,1,128,146Zm0-68A30,30,0,1,0,98,48,30,30,0,0,0,128,78Zm0-48a18,18,0,1,1-18,18A18,18,0,0,1,128,30Zm0,148a30,30,0,1,0,30,30A30,30,0,0,0,128,178Zm0,48a18,18,0,1,1,18-18A18,18,0,0,1,128,226Z"}))],["regular",f.createElement(f.Fragment,null,f.createElement("path",{d:"M128,96a32,32,0,1,0,32,32A32,32,0,0,0,128,96Zm0,48a16,16,0,1,1,16-16A16,16,0,0,1,128,144Zm0-64A32,32,0,1,0,96,48,32,32,0,0,0,128,80Zm0-48a16,16,0,1,1-16,16A16,16,0,0,1,128,32Zm0,144a32,32,0,1,0,32,32A32,32,0,0,0,128,176Zm0,48a16,16,0,1,1,16-16A16,16,0,0,1,128,224Z"}))],["thin",f.createElement(f.Fragment,null,f.createElement("path",{d:"M128,100a28,28,0,1,0,28,28A28,28,0,0,0,128,100Zm0,48a20,20,0,1,1,20-20A20,20,0,0,1,128,148Zm0-72a28,28,0,1,0-28-28A28,28,0,0,0,128,76Zm0-48a20,20,0,1,1-20,20A20,20,0,0,1,128,28Zm0,152a28,28,0,1,0,28,28A28,28,0,0,0,128,180Zm0,48a20,20,0,1,1,20-20A20,20,0,0,1,128,228Z"}))]]);var IE=Object.defineProperty,ME=Object.defineProperties,FE=Object.getOwnPropertyDescriptors,Y2=Object.getOwnPropertySymbols,BE=Object.prototype.hasOwnProperty,PE=Object.prototype.propertyIsEnumerable,K2=(e,t,n)=>t in e?IE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const X2=Z.forwardRef(((e,t)=>f.createElement(Ue,((e,t)=>ME(e,FE(t)))(((e,t)=>{for(var n in t||(t={}))BE.call(t,n)&&K2(e,n,t[n]);if(Y2)for(var n of Y2(t))PE.call(t,n)&&K2(e,n,t[n]);return e})({ref:t},e),{weights:kE}))));X2.displayName="DotsThreeOutlineVertical";const HE=new Map([["bold",f.createElement(f.Fragment,null,f.createElement("path",{d:"M224,44H32A12,12,0,0,0,20,56V192a20,20,0,0,0,20,20H216a20,20,0,0,0,20-20V56A12,12,0,0,0,224,44Zm-96,83.72L62.85,68h130.3ZM92.79,128,44,172.72V83.28Zm17.76,16.28,9.34,8.57a12,12,0,0,0,16.22,0l9.34-8.57L193.15,188H62.85ZM163.21,128,212,83.28v89.44Z"}))],["duotone",f.createElement(f.Fragment,null,f.createElement("path",{d:"M224,56l-96,88L32,56Z",opacity:"0.2"}),f.createElement("path",{d:"M224,48H32a8,8,0,0,0-8,8V192a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A8,8,0,0,0,224,48Zm-96,85.15L52.57,64H203.43ZM98.71,128,40,181.81V74.19Zm11.84,10.85,12,11.05a8,8,0,0,0,10.82,0l12-11.05,58,53.15H52.57ZM157.29,128,216,74.18V181.82Z"}))],["fill",f.createElement(f.Fragment,null,f.createElement("path",{d:"M224,48H32a8,8,0,0,0-8,8V192a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A8,8,0,0,0,224,48ZM98.71,128,40,181.81V74.19Zm11.84,10.85,12,11.05a8,8,0,0,0,10.82,0l12-11.05,58,53.15H52.57ZM157.29,128,216,74.18V181.82Z"}))],["light",f.createElement(f.Fragment,null,f.createElement("path",{d:"M224,50H32a6,6,0,0,0-6,6V192a14,14,0,0,0,14,14H216a14,14,0,0,0,14-14V56A6,6,0,0,0,224,50Zm-96,85.86L47.42,62H208.58ZM101.67,128,38,186.36V69.64Zm8.88,8.14L124,148.42a6,6,0,0,0,8.1,0l13.4-12.28L208.58,194H47.43ZM154.33,128,218,69.64V186.36Z"}))],["regular",f.createElement(f.Fragment,null,f.createElement("path",{d:"M224,48H32a8,8,0,0,0-8,8V192a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A8,8,0,0,0,224,48Zm-96,85.15L52.57,64H203.43ZM98.71,128,40,181.81V74.19Zm11.84,10.85,12,11.05a8,8,0,0,0,10.82,0l12-11.05,58,53.15H52.57ZM157.29,128,216,74.18V181.82Z"}))],["thin",f.createElement(f.Fragment,null,f.createElement("path",{d:"M224,52H32a4,4,0,0,0-4,4V192a12,12,0,0,0,12,12H216a12,12,0,0,0,12-12V56A4,4,0,0,0,224,52Zm-96,86.57L42.28,60H213.72ZM104.63,128,36,190.91V65.09Zm5.92,5.43L125.3,147a4,4,0,0,0,5.4,0l14.75-13.52L213.72,196H42.28ZM151.37,128,220,65.09V190.91Z"}))]]);var VE=Object.defineProperty,zE=Object.defineProperties,GE=Object.getOwnPropertyDescriptors,Q2=Object.getOwnPropertySymbols,$E=Object.prototype.hasOwnProperty,ZE=Object.prototype.propertyIsEnumerable,J2=(e,t,n)=>t in e?VE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const ep=Z.forwardRef(((e,t)=>f.createElement(Ue,((e,t)=>zE(e,GE(t)))(((e,t)=>{for(var n in t||(t={}))$E.call(t,n)&&J2(e,n,t[n]);if(Q2)for(var n of Q2(t))ZE.call(t,n)&&J2(e,n,t[n]);return e})({ref:t},e),{weights:HE}))));ep.displayName="Envelope";const YE=new Map([["bold",f.createElement(f.Fragment,null,f.createElement("path",{d:"M204.73,51.85A108.07,108.07,0,0,0,20,128v56a28,28,0,0,0,28,28H64a28,28,0,0,0,28-28V144a28,28,0,0,0-28-28H44.84A84.05,84.05,0,0,1,128,44h.64a83.7,83.7,0,0,1,82.52,72H192a28,28,0,0,0-28,28v40a28,28,0,0,0,28,28h19.6A20,20,0,0,1,192,228H136a12,12,0,0,0,0,24h56a44.05,44.05,0,0,0,44-44V128A107.34,107.34,0,0,0,204.73,51.85ZM64,140a4,4,0,0,1,4,4v40a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V140Zm124,44V144a4,4,0,0,1,4-4h20v48H192A4,4,0,0,1,188,184Z"}))],["duotone",f.createElement(f.Fragment,null,f.createElement("path",{d:"M80,144v40a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V128H64A16,16,0,0,1,80,144Zm112-16a16,16,0,0,0-16,16v40a16,16,0,0,0,16,16h32V128Z",opacity:"0.2"}),f.createElement("path",{d:"M201.89,54.66A104.08,104.08,0,0,0,24,128v56a24,24,0,0,0,24,24H64a24,24,0,0,0,24-24V144a24,24,0,0,0-24-24H40.36A88.12,88.12,0,0,1,190.54,65.93,87.39,87.39,0,0,1,215.65,120H192a24,24,0,0,0-24,24v40a24,24,0,0,0,24,24h24a24,24,0,0,1-24,24H136a8,8,0,0,0,0,16h56a40,40,0,0,0,40-40V128A103.41,103.41,0,0,0,201.89,54.66ZM64,136a8,8,0,0,1,8,8v40a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V136Zm128,56a8,8,0,0,1-8-8V144a8,8,0,0,1,8-8h24v56Z"}))],["fill",f.createElement(f.Fragment,null,f.createElement("path",{d:"M232,128v80a40,40,0,0,1-40,40H136a8,8,0,0,1,0-16h56a24,24,0,0,0,24-24H192a24,24,0,0,1-24-24V144a24,24,0,0,1,24-24h23.65A88,88,0,0,0,66,65.54,87.29,87.29,0,0,0,40.36,120H64a24,24,0,0,1,24,24v40a24,24,0,0,1-24,24H48a24,24,0,0,1-24-24V128A104.11,104.11,0,0,1,201.89,54.66,103.41,103.41,0,0,1,232,128Z"}))],["light",f.createElement(f.Fragment,null,f.createElement("path",{d:"M200.47,56.07A101.37,101.37,0,0,0,128.77,26H128A102,102,0,0,0,26,128v56a22,22,0,0,0,22,22H64a22,22,0,0,0,22-22V144a22,22,0,0,0-22-22H38.2A90,90,0,0,1,128,38h.68a89.71,89.71,0,0,1,89.13,84H192a22,22,0,0,0-22,22v40a22,22,0,0,0,22,22h26v2a26,26,0,0,1-26,26H136a6,6,0,0,0,0,12h56a38,38,0,0,0,38-38V128A101.44,101.44,0,0,0,200.47,56.07ZM64,134a10,10,0,0,1,10,10v40a10,10,0,0,1-10,10H48a10,10,0,0,1-10-10V134Zm118,50V144a10,10,0,0,1,10-10h26v60H192A10,10,0,0,1,182,184Z"}))],["regular",f.createElement(f.Fragment,null,f.createElement("path",{d:"M201.89,54.66A103.43,103.43,0,0,0,128.79,24H128A104,104,0,0,0,24,128v56a24,24,0,0,0,24,24H64a24,24,0,0,0,24-24V144a24,24,0,0,0-24-24H40.36A88.12,88.12,0,0,1,190.54,65.93,87.39,87.39,0,0,1,215.65,120H192a24,24,0,0,0-24,24v40a24,24,0,0,0,24,24h24a24,24,0,0,1-24,24H136a8,8,0,0,0,0,16h56a40,40,0,0,0,40-40V128A103.41,103.41,0,0,0,201.89,54.66ZM64,136a8,8,0,0,1,8,8v40a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V136Zm128,56a8,8,0,0,1-8-8V144a8,8,0,0,1,8-8h24v56Z"}))],["thin",f.createElement(f.Fragment,null,f.createElement("path",{d:"M199.05,57.48A100.07,100.07,0,0,0,28,128v56a20,20,0,0,0,20,20H64a20,20,0,0,0,20-20V144a20,20,0,0,0-20-20H36.08A92,92,0,0,1,128,36h.7a91.75,91.75,0,0,1,91.22,88H192a20,20,0,0,0-20,20v40a20,20,0,0,0,20,20h28v4a28,28,0,0,1-28,28H136a4,4,0,0,0,0,8h56a36,36,0,0,0,36-36V128A99.44,99.44,0,0,0,199.05,57.48ZM64,132a12,12,0,0,1,12,12v40a12,12,0,0,1-12,12H48a12,12,0,0,1-12-12V132Zm116,52V144a12,12,0,0,1,12-12h28v64H192A12,12,0,0,1,180,184Z"}))]]);var KE=Object.defineProperty,XE=Object.defineProperties,QE=Object.getOwnPropertyDescriptors,tp=Object.getOwnPropertySymbols,JE=Object.prototype.hasOwnProperty,eA=Object.prototype.propertyIsEnumerable,np=(e,t,n)=>t in e?KE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const rp=Z.forwardRef(((e,t)=>f.createElement(Ue,((e,t)=>XE(e,QE(t)))(((e,t)=>{for(var n in t||(t={}))JE.call(t,n)&&np(e,n,t[n]);if(tp)for(var n of tp(t))eA.call(t,n)&&np(e,n,t[n]);return e})({ref:t},e),{weights:YE}))));rp.displayName="Headset";const rA=new Map([["bold",f.createElement(f.Fragment,null,f.createElement("path",{d:"M252,152a12,12,0,0,1-12,12H228v12a12,12,0,0,1-24,0V164H192a12,12,0,0,1,0-24h12V128a12,12,0,0,1,24,0v12h12A12,12,0,0,1,252,152ZM56,76H68V88a12,12,0,0,0,24,0V76h12a12,12,0,1,0,0-24H92V40a12,12,0,0,0-24,0V52H56a12,12,0,0,0,0,24ZM184,188h-4v-4a12,12,0,0,0-24,0v4h-4a12,12,0,0,0,0,24h4v4a12,12,0,0,0,24,0v-4h4a12,12,0,0,0,0-24ZM222.14,82.83,82.82,222.14a20,20,0,0,1-28.28,0L33.85,201.46a20,20,0,0,1,0-28.29L173.17,33.86a20,20,0,0,1,28.28,0l20.69,20.68A20,20,0,0,1,222.14,82.83ZM159,112,144,97,53.65,187.31l15,15Zm43.31-43.31-15-15L161,80l15,15Z"}))],["duotone",f.createElement(f.Fragment,null,f.createElement("path",{d:"M176,112,74.34,213.66a8,8,0,0,1-11.31,0L42.34,193a8,8,0,0,1,0-11.31L144,80Z",opacity:"0.2"}),f.createElement("path",{d:"M248,152a8,8,0,0,1-8,8H224v16a8,8,0,0,1-16,0V160H192a8,8,0,0,1,0-16h16V128a8,8,0,0,1,16,0v16h16A8,8,0,0,1,248,152ZM56,72H72V88a8,8,0,0,0,16,0V72h16a8,8,0,0,0,0-16H88V40a8,8,0,0,0-16,0V56H56a8,8,0,0,0,0,16ZM184,192h-8v-8a8,8,0,0,0-16,0v8h-8a8,8,0,0,0,0,16h8v8a8,8,0,0,0,16,0v-8h8a8,8,0,0,0,0-16ZM219.31,80,80,219.31a16,16,0,0,1-22.62,0L36.68,198.63a16,16,0,0,1,0-22.63L176,36.69a16,16,0,0,1,22.63,0l20.68,20.68A16,16,0,0,1,219.31,80Zm-54.63,32L144,91.31l-96,96L68.68,208ZM208,68.69,187.31,48l-32,32L176,100.69Z"}))],["fill",f.createElement(f.Fragment,null,f.createElement("path",{d:"M248,152a8,8,0,0,1-8,8H224v16a8,8,0,0,1-16,0V160H192a8,8,0,0,1,0-16h16V128a8,8,0,0,1,16,0v16h16A8,8,0,0,1,248,152ZM56,72H72V88a8,8,0,0,0,16,0V72h16a8,8,0,0,0,0-16H88V40a8,8,0,0,0-16,0V56H56a8,8,0,0,0,0,16ZM184,192h-8v-8a8,8,0,0,0-16,0v8h-8a8,8,0,0,0,0,16h8v8a8,8,0,0,0,16,0v-8h8a8,8,0,0,0,0-16ZM219.31,80,80,219.31a16,16,0,0,1-22.62,0L36.68,198.63a16,16,0,0,1,0-22.63L176,36.69a16,16,0,0,1,22.63,0l20.68,20.68A16,16,0,0,1,219.31,80ZM208,68.69,187.31,48l-32,32L176,100.69Z"}))],["light",f.createElement(f.Fragment,null,f.createElement("path",{d:"M246,152a6,6,0,0,1-6,6H222v18a6,6,0,0,1-12,0V158H192a6,6,0,0,1,0-12h18V128a6,6,0,0,1,12,0v18h18A6,6,0,0,1,246,152ZM56,70H74V88a6,6,0,0,0,12,0V70h18a6,6,0,0,0,0-12H86V40a6,6,0,0,0-12,0V58H56a6,6,0,0,0,0,12ZM184,194H174V184a6,6,0,0,0-12,0v10H152a6,6,0,0,0,0,12h10v10a6,6,0,0,0,12,0V206h10a6,6,0,0,0,0-12ZM217.9,78.59,78.58,217.9a14,14,0,0,1-19.8,0L38.09,197.21a14,14,0,0,1,0-19.8L177.41,38.1a14,14,0,0,1,19.8,0L217.9,58.79A14,14,0,0,1,217.9,78.59ZM167.51,112,144,88.49,46.58,185.9a2,2,0,0,0,0,2.83l20.69,20.68a2,2,0,0,0,2.82,0h0Zm41.9-44.73L188.73,46.59a2,2,0,0,0-2.83,0L152.48,80,176,103.52,209.41,70.1A2,2,0,0,0,209.41,67.27Z"}))],["regular",f.createElement(f.Fragment,null,f.createElement("path",{d:"M48,64a8,8,0,0,1,8-8H72V40a8,8,0,0,1,16,0V56h16a8,8,0,0,1,0,16H88V88a8,8,0,0,1-16,0V72H56A8,8,0,0,1,48,64ZM184,192h-8v-8a8,8,0,0,0-16,0v8h-8a8,8,0,0,0,0,16h8v8a8,8,0,0,0,16,0v-8h8a8,8,0,0,0,0-16Zm56-48H224V128a8,8,0,0,0-16,0v16H192a8,8,0,0,0,0,16h16v16a8,8,0,0,0,16,0V160h16a8,8,0,0,0,0-16ZM219.31,80,80,219.31a16,16,0,0,1-22.62,0L36.68,198.63a16,16,0,0,1,0-22.63L176,36.69a16,16,0,0,1,22.63,0l20.68,20.68A16,16,0,0,1,219.31,80Zm-54.63,32L144,91.31l-96,96L68.68,208ZM208,68.69,187.31,48l-32,32L176,100.69Z"}))],["thin",f.createElement(f.Fragment,null,f.createElement("path",{d:"M244,152a4,4,0,0,1-4,4H220v20a4,4,0,0,1-8,0V156H192a4,4,0,0,1,0-8h20V128a4,4,0,0,1,8,0v20h20A4,4,0,0,1,244,152ZM56,68H76V88a4,4,0,0,0,8,0V68h20a4,4,0,0,0,0-8H84V40a4,4,0,0,0-8,0V60H56a4,4,0,0,0,0,8ZM184,196H172V184a4,4,0,0,0-8,0v12H152a4,4,0,0,0,0,8h12v12a4,4,0,0,0,8,0V204h12a4,4,0,0,0,0-8ZM216.48,77.17,77.17,216.49a12,12,0,0,1-17,0L39.51,195.8a12,12,0,0,1,0-17L178.83,39.51a12,12,0,0,1,17,0L216.48,60.2A12,12,0,0,1,216.48,77.17ZM170.34,112,144,85.66,45.17,184.49a4,4,0,0,0,0,5.65l20.68,20.69a4,4,0,0,0,5.66,0Zm40.49-46.14L190.14,45.17a4,4,0,0,0-5.66,0L149.65,80,176,106.34l34.83-34.83A4,4,0,0,0,210.83,65.86Z"}))]]);var oA=Object.defineProperty,aA=Object.defineProperties,sA=Object.getOwnPropertyDescriptors,op=Object.getOwnPropertySymbols,iA=Object.prototype.hasOwnProperty,lA=Object.prototype.propertyIsEnumerable,ap=(e,t,n)=>t in e?oA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const sp=Z.forwardRef(((e,t)=>f.createElement(Ue,((e,t)=>aA(e,sA(t)))(((e,t)=>{for(var n in t||(t={}))iA.call(t,n)&&ap(e,n,t[n]);if(op)for(var n of op(t))lA.call(t,n)&&ap(e,n,t[n]);return e})({ref:t},e),{weights:rA}))));sp.displayName="MagicWand";const dA=new Map([["bold",f.createElement(f.Fragment,null,f.createElement("path",{d:"M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z"}))],["duotone",f.createElement(f.Fragment,null,f.createElement("path",{d:"M192,112a80,80,0,1,1-80-80A80,80,0,0,1,192,112Z",opacity:"0.2"}),f.createElement("path",{d:"M229.66,218.34,179.6,168.28a88.21,88.21,0,1,0-11.32,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z"}))],["fill",f.createElement(f.Fragment,null,f.createElement("path",{d:"M168,112a56,56,0,1,1-56-56A56,56,0,0,1,168,112Zm61.66,117.66a8,8,0,0,1-11.32,0l-50.06-50.07a88,88,0,1,1,11.32-11.31l50.06,50.06A8,8,0,0,1,229.66,229.66ZM112,184a72,72,0,1,0-72-72A72.08,72.08,0,0,0,112,184Z"}))],["light",f.createElement(f.Fragment,null,f.createElement("path",{d:"M228.24,219.76l-51.38-51.38a86.15,86.15,0,1,0-8.48,8.48l51.38,51.38a6,6,0,0,0,8.48-8.48ZM38,112a74,74,0,1,1,74,74A74.09,74.09,0,0,1,38,112Z"}))],["regular",f.createElement(f.Fragment,null,f.createElement("path",{d:"M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z"}))],["thin",f.createElement(f.Fragment,null,f.createElement("path",{d:"M226.83,221.17l-52.7-52.7a84.1,84.1,0,1,0-5.66,5.66l52.7,52.7a4,4,0,0,0,5.66-5.66ZM36,112a76,76,0,1,1,76,76A76.08,76.08,0,0,1,36,112Z"}))]]);var pA=Object.defineProperty,fA=Object.defineProperties,gA=Object.getOwnPropertyDescriptors,ip=Object.getOwnPropertySymbols,mA=Object.prototype.hasOwnProperty,hA=Object.prototype.propertyIsEnumerable,lp=(e,t,n)=>t in e?pA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const up=Z.forwardRef(((e,t)=>f.createElement(Ue,((e,t)=>fA(e,gA(t)))(((e,t)=>{for(var n in t||(t={}))mA.call(t,n)&&lp(e,n,t[n]);if(ip)for(var n of ip(t))hA.call(t,n)&&lp(e,n,t[n]);return e})({ref:t},e),{weights:dA}))));up.displayName="MagnifyingGlass";const bA=new Map([["bold",f.createElement(f.Fragment,null,f.createElement("path",{d:"M225.86,110.48,57.8,14.58A20,20,0,0,0,29.16,38.67l30.61,89.21L29.16,217.33A20,20,0,0,0,48,244a20.1,20.1,0,0,0,9.81-2.58l.09-.06,168-96.07a20,20,0,0,0,0-34.81ZM55.24,215.23,81,140h55a12,12,0,0,0,0-24H81.07L55.25,40.76l152.69,87.13Z"}))],["duotone",f.createElement(f.Fragment,null,f.createElement("path",{d:"M219.91,134.86,51.93,231a8,8,0,0,1-11.44-9.67l31-90.71a7.89,7.89,0,0,0,0-5.38l-31-90.47a8,8,0,0,1,11.44-9.67l168,95.85A8,8,0,0,1,219.91,134.86Z",opacity:"0.2"}),f.createElement("path",{d:"M223.87,114l-168-95.89A16,16,0,0,0,32.93,37.32l31,90.47a.42.42,0,0,0,0,.1.3.3,0,0,0,0,.1l-31,90.67A16,16,0,0,0,48,240a16.14,16.14,0,0,0,7.92-2.1l167.91-96.05a16,16,0,0,0,.05-27.89ZM48,224l0-.09L78.14,136H136a8,8,0,0,0,0-16H78.22L48.06,32.12,48,32l168,95.83Z"}))],["fill",f.createElement(f.Fragment,null,f.createElement("path",{d:"M232,127.89a16,16,0,0,1-8.18,14L55.91,237.9A16.14,16.14,0,0,1,48,240a16,16,0,0,1-15.05-21.34L60.3,138.71A4,4,0,0,1,64.09,136H136a8,8,0,0,0,8-8.53,8.19,8.19,0,0,0-8.26-7.47H64.16a4,4,0,0,1-3.79-2.7l-27.44-80A16,16,0,0,1,55.85,18.07l168,95.89A16,16,0,0,1,232,127.89Z"}))],["light",f.createElement(f.Fragment,null,f.createElement("path",{d:"M222.88,115.69l-168-95.88a14,14,0,0,0-20,16.85l31,90.48,0,.07a2.11,2.11,0,0,1,0,1.42l-31,90.64A14,14,0,0,0,48,238a14.11,14.11,0,0,0,6.92-1.83L222.84,140.1a14,14,0,0,0,0-24.41Zm-5.95,14L49,225.73a1.87,1.87,0,0,1-2.27-.22,1.92,1.92,0,0,1-.56-2.28L76.7,134H136a6,6,0,0,0,0-12H76.78L46.14,32.7A2,2,0,0,1,49,30.25l168,95.89a1.93,1.93,0,0,1,1,1.74A2,2,0,0,1,216.93,129.66Z"}))],["regular",f.createElement(f.Fragment,null,f.createElement("path",{d:"M223.87,114l-168-95.89A16,16,0,0,0,32.93,37.32l31,90.47a.42.42,0,0,0,0,.1.3.3,0,0,0,0,.1l-31,90.67A16,16,0,0,0,48,240a16.14,16.14,0,0,0,7.92-2.1l167.91-96.05a16,16,0,0,0,.05-27.89ZM48,224l0-.09L78.14,136H136a8,8,0,0,0,0-16H78.22L48.06,32.12,48,32l168,95.83Z"}))],["thin",f.createElement(f.Fragment,null,f.createElement("path",{d:"M221.89,117.43l-168-95.88A12,12,0,0,0,36.7,36l31.05,90.48v.05a4.09,4.09,0,0,1,0,2.74L36.72,220A12,12,0,0,0,48,236a12.13,12.13,0,0,0,5.93-1.57l167.94-96.08a12,12,0,0,0,0-20.92Zm-4,14L50,227.47a4,4,0,0,1-5.7-4.88l31-90.59H136a4,4,0,0,0,0-8H75.35a.65.65,0,0,1,0-.13L44.25,33.37A4,4,0,0,1,50,28.52l168,95.87a4,4,0,0,1,0,7Z"}))]]);var _A=Object.defineProperty,vA=Object.defineProperties,DA=Object.getOwnPropertyDescriptors,cp=Object.getOwnPropertySymbols,yA=Object.prototype.hasOwnProperty,TA=Object.prototype.propertyIsEnumerable,dp=(e,t,n)=>t in e?_A(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const pp=Z.forwardRef(((e,t)=>f.createElement(Ue,((e,t)=>vA(e,DA(t)))(((e,t)=>{for(var n in t||(t={}))yA.call(t,n)&&dp(e,n,t[n]);if(cp)for(var n of cp(t))TA.call(t,n)&&dp(e,n,t[n]);return e})({ref:t},e),{weights:bA}))));pp.displayName="PaperPlaneRight";const SA=new Map([["bold",f.createElement(f.Fragment,null,f.createElement("path",{d:"M228,128a12,12,0,0,1-12,12H140v76a12,12,0,0,1-24,0V140H40a12,12,0,0,1,0-24h76V40a12,12,0,0,1,24,0v76h76A12,12,0,0,1,228,128Z"}))],["duotone",f.createElement(f.Fragment,null,f.createElement("path",{d:"M216,48V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V48a8,8,0,0,1,8-8H208A8,8,0,0,1,216,48Z",opacity:"0.2"}),f.createElement("path",{d:"M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z"}))],["fill",f.createElement(f.Fragment,null,f.createElement("path",{d:"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM184,136H136v48a8,8,0,0,1-16,0V136H72a8,8,0,0,1,0-16h48V72a8,8,0,0,1,16,0v48h48a8,8,0,0,1,0,16Z"}))],["light",f.createElement(f.Fragment,null,f.createElement("path",{d:"M222,128a6,6,0,0,1-6,6H134v82a6,6,0,0,1-12,0V134H40a6,6,0,0,1,0-12h82V40a6,6,0,0,1,12,0v82h82A6,6,0,0,1,222,128Z"}))],["regular",f.createElement(f.Fragment,null,f.createElement("path",{d:"M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z"}))],["thin",f.createElement(f.Fragment,null,f.createElement("path",{d:"M220,128a4,4,0,0,1-4,4H132v84a4,4,0,0,1-8,0V132H40a4,4,0,0,1,0-8h84V40a4,4,0,0,1,8,0v84h84A4,4,0,0,1,220,128Z"}))]]);var wA=Object.defineProperty,xA=Object.defineProperties,RA=Object.getOwnPropertyDescriptors,fp=Object.getOwnPropertySymbols,LA=Object.prototype.hasOwnProperty,OA=Object.prototype.propertyIsEnumerable,gp=(e,t,n)=>t in e?wA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const mp=Z.forwardRef(((e,t)=>f.createElement(Ue,((e,t)=>xA(e,RA(t)))(((e,t)=>{for(var n in t||(t={}))LA.call(t,n)&&gp(e,n,t[n]);if(fp)for(var n of fp(t))OA.call(t,n)&&gp(e,n,t[n]);return e})({ref:t},e),{weights:SA}))));mp.displayName="Plus";const MA=new Map([["bold",f.createElement(f.Fragment,null,f.createElement("path",{d:"M240.26,186.1,152.81,34.23h0a28.74,28.74,0,0,0-49.62,0L15.74,186.1a27.45,27.45,0,0,0,0,27.71A28.31,28.31,0,0,0,40.55,228h174.9a28.31,28.31,0,0,0,24.79-14.19A27.45,27.45,0,0,0,240.26,186.1Zm-20.8,15.7a4.46,4.46,0,0,1-4,2.2H40.55a4.46,4.46,0,0,1-4-2.2,3.56,3.56,0,0,1,0-3.73L124,46.2a4.77,4.77,0,0,1,8,0l87.44,151.87A3.56,3.56,0,0,1,219.46,201.8ZM116,136V104a12,12,0,0,1,24,0v32a12,12,0,0,1-24,0Zm28,40a16,16,0,1,1-16-16A16,16,0,0,1,144,176Z"}))],["duotone",f.createElement(f.Fragment,null,f.createElement("path",{d:"M215.46,216H40.54C27.92,216,20,202.79,26.13,192.09L113.59,40.22c6.3-11,22.52-11,28.82,0l87.46,151.87C236,202.79,228.08,216,215.46,216Z",opacity:"0.2"}),f.createElement("path",{d:"M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z"}))],["fill",f.createElement(f.Fragment,null,f.createElement("path",{d:"M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM120,104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm8,88a12,12,0,1,1,12-12A12,12,0,0,1,128,192Z"}))],["light",f.createElement(f.Fragment,null,f.createElement("path",{d:"M235.07,189.09,147.61,37.22h0a22.75,22.75,0,0,0-39.22,0L20.93,189.09a21.53,21.53,0,0,0,0,21.72A22.35,22.35,0,0,0,40.55,222h174.9a22.35,22.35,0,0,0,19.6-11.19A21.53,21.53,0,0,0,235.07,189.09ZM224.66,204.8a10.46,10.46,0,0,1-9.21,5.2H40.55a10.46,10.46,0,0,1-9.21-5.2,9.51,9.51,0,0,1,0-9.72L118.79,43.21a10.75,10.75,0,0,1,18.42,0l87.46,151.87A9.51,9.51,0,0,1,224.66,204.8ZM122,144V104a6,6,0,0,1,12,0v40a6,6,0,0,1-12,0Zm16,36a10,10,0,1,1-10-10A10,10,0,0,1,138,180Z"}))],["regular",f.createElement(f.Fragment,null,f.createElement("path",{d:"M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z"}))],["thin",f.createElement(f.Fragment,null,f.createElement("path",{d:"M233.34,190.09,145.88,38.22h0a20.75,20.75,0,0,0-35.76,0L22.66,190.09a19.52,19.52,0,0,0,0,19.71A20.36,20.36,0,0,0,40.54,220H215.46a20.36,20.36,0,0,0,17.86-10.2A19.52,19.52,0,0,0,233.34,190.09ZM226.4,205.8a12.47,12.47,0,0,1-10.94,6.2H40.54a12.47,12.47,0,0,1-10.94-6.2,11.45,11.45,0,0,1,0-11.72L117.05,42.21a12.76,12.76,0,0,1,21.9,0L226.4,194.08A11.45,11.45,0,0,1,226.4,205.8ZM124,144V104a4,4,0,0,1,8,0v40a4,4,0,0,1-8,0Zm12,36a8,8,0,1,1-8-8A8,8,0,0,1,136,180Z"}))]]);var FA=Object.defineProperty,BA=Object.defineProperties,PA=Object.getOwnPropertyDescriptors,hp=Object.getOwnPropertySymbols,UA=Object.prototype.hasOwnProperty,qA=Object.prototype.propertyIsEnumerable,Ep=(e,t,n)=>t in e?FA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const ru=Z.forwardRef(((e,t)=>f.createElement(Ue,((e,t)=>BA(e,PA(t)))(((e,t)=>{for(var n in t||(t={}))UA.call(t,n)&&Ep(e,n,t[n]);if(hp)for(var n of hp(t))qA.call(t,n)&&Ep(e,n,t[n]);return e})({ref:t},e),{weights:MA}))));ru.displayName="Warning";const zA=new Map([["bold",f.createElement(f.Fragment,null,f.createElement("path",{d:"M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z"}))],["duotone",f.createElement(f.Fragment,null,f.createElement("path",{d:"M216,48V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V48a8,8,0,0,1,8-8H208A8,8,0,0,1,216,48Z",opacity:"0.2"}),f.createElement("path",{d:"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z"}))],["fill",f.createElement(f.Fragment,null,f.createElement("path",{d:"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM181.66,170.34a8,8,0,0,1-11.32,11.32L128,139.31,85.66,181.66a8,8,0,0,1-11.32-11.32L116.69,128,74.34,85.66A8,8,0,0,1,85.66,74.34L128,116.69l42.34-42.35a8,8,0,0,1,11.32,11.32L139.31,128Z"}))],["light",f.createElement(f.Fragment,null,f.createElement("path",{d:"M204.24,195.76a6,6,0,1,1-8.48,8.48L128,136.49,60.24,204.24a6,6,0,0,1-8.48-8.48L119.51,128,51.76,60.24a6,6,0,0,1,8.48-8.48L128,119.51l67.76-67.75a6,6,0,0,1,8.48,8.48L136.49,128Z"}))],["regular",f.createElement(f.Fragment,null,f.createElement("path",{d:"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z"}))],["thin",f.createElement(f.Fragment,null,f.createElement("path",{d:"M202.83,197.17a4,4,0,0,1-5.66,5.66L128,133.66,58.83,202.83a4,4,0,0,1-5.66-5.66L122.34,128,53.17,58.83a4,4,0,0,1,5.66-5.66L128,122.34l69.17-69.17a4,4,0,1,1,5.66,5.66L133.66,128Z"}))]]);var GA=Object.defineProperty,$A=Object.defineProperties,ZA=Object.getOwnPropertyDescriptors,Ap=Object.getOwnPropertySymbols,jA=Object.prototype.hasOwnProperty,WA=Object.prototype.propertyIsEnumerable,bp=(e,t,n)=>t in e?GA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const _p=Z.forwardRef(((e,t)=>f.createElement(Ue,((e,t)=>$A(e,ZA(t)))(((e,t)=>{for(var n in t||(t={}))jA.call(t,n)&&bp(e,n,t[n]);if(Ap)for(var n of Ap(t))WA.call(t,n)&&bp(e,n,t[n]);return e})({ref:t},e),{weights:zA}))));_p.displayName="X";const ou={plus:mp,chatBubble:q2,support:rp,search2:B2,search:up,magic:sp};function XA({settings:e,isOpen:t,toggleOpen:n}){if(t)return null;const r=ou.hasOwnProperty(null==e?void 0:e.chatIcon)?ou[e.chatIcon]:ou.plus;return w.jsx("button",{onClick:n,className:`flex items-center justify-center p-4 rounded-full bg-[${e.buttonColor}] text-white text-2xl`,"aria-label":"Toggle Menu",children:w.jsx(r,{className:"text-white"})})}const ko="data:image/svg+xml,%3csvg%20width='49'%20height='49'%20viewBox='0%200%2049%2049'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='0.898438'%20y='0.5'%20width='48'%20height='48'%20rx='24'%20fill='%23222628'%20fill-opacity='0.8'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12.0173%2014.2937C10.4387%2014.2937%209.14844%2015.584%209.14844%2017.1626V31.8372C9.14844%2033.4156%2010.4365%2034.7061%2012.0173%2034.7061H17.5428C18.4316%2034.7061%2019.2557%2034.3035%2019.8034%2033.6063L19.8041%2033.6054L32.4126%2017.4869H37.4552V31.509H32.4204L29.8951%2027.9721L29.8867%2027.9615C29.4483%2027.4042%2028.602%2027.4042%2028.1635%2027.9615L27.52%2028.7815L27.5178%2028.7843C27.2188%2029.1751%2027.2113%2029.7217%2027.512%2030.1178L29.985%2033.5936L29.9935%2033.6044C30.5415%2034.302%2031.3696%2034.7042%2032.2541%2034.7042H37.7795C39.3643%2034.7042%2040.6484%2033.4175%2040.6484%2031.8353V17.1626C40.6484%2015.5827%2039.3646%2014.2937%2037.7795%2014.2937H32.2541C31.3673%2014.2937%2030.5407%2014.6964%2029.9928%2015.3964L17.3858%2031.511H12.3417V17.4889H17.3757L20.133%2021.2573L20.1386%2021.2645C20.5782%2021.8273%2021.4253%2021.8239%2021.8647%2021.2666L21.8661%2021.2648L22.505%2020.4477L22.5069%2020.4453C22.8064%2020.0538%2022.8139%2019.5046%2022.5076%2019.1075L19.8102%2015.4041L19.804%2015.3963C19.2562%2014.6965%2018.4318%2014.2937%2017.5428%2014.2937H12.0173Z'%20fill='white'/%3e%3cpath%20d='M19.8034%2033.6063L20.0392%2033.7915L20.0394%2033.7912L19.8034%2033.6063ZM19.8041%2033.6054L20.0401%2033.7903L20.0403%2033.7901L19.8041%2033.6054ZM32.4126%2017.4869V17.1871H32.2665L32.1764%2017.3022L32.4126%2017.4869ZM37.4552%2017.4869H37.755V17.1871H37.4552V17.4869ZM37.4552%2031.509V31.8089H37.755V31.509H37.4552ZM32.4204%2031.509L32.1763%2031.6833L32.266%2031.8089H32.4204V31.509ZM29.8951%2027.9721L30.1394%2027.7977L30.1307%2027.7867L29.8951%2027.9721ZM29.8867%2027.9615L29.6511%2028.1469L29.6511%2028.1469L29.8867%2027.9615ZM28.1635%2027.9615L27.9279%2027.7761L27.9277%2027.7764L28.1635%2027.9615ZM27.52%2028.7815L27.2841%2028.5964L27.2819%2028.5993L27.52%2028.7815ZM27.5178%2028.7843L27.7559%2028.9665L27.7559%2028.9665L27.5178%2028.7843ZM27.512%2030.1178L27.7564%2029.9439L27.7508%2029.9365L27.512%2030.1178ZM29.985%2033.5936L29.7407%2033.7674L29.7448%2033.7732L29.7492%2033.7788L29.985%2033.5936ZM29.9935%2033.6044L30.2293%2033.4191L30.2293%2033.4191L29.9935%2033.6044ZM29.9928%2015.3964L29.7567%2015.2116L29.7566%2015.2116L29.9928%2015.3964ZM17.3858%2031.511V31.8108H17.5319L17.6219%2031.6957L17.3858%2031.511ZM12.3417%2031.511H12.0418V31.8108H12.3417V31.511ZM12.3417%2017.4889V17.189H12.0418V17.4889H12.3417ZM17.3757%2017.4889L17.6177%2017.3118L17.5278%2017.189H17.3757V17.4889ZM20.133%2021.2573L19.8909%2021.4345L19.8967%2021.4419L20.133%2021.2573ZM20.1386%2021.2645L19.9023%2021.4491V21.4491L20.1386%2021.2645ZM21.8647%2021.2666L22.1001%2021.4522L22.1005%2021.4517L21.8647%2021.2666ZM21.8661%2021.2648L22.1019%2021.45L22.1023%2021.4495L21.8661%2021.2648ZM22.505%2020.4477L22.7412%2020.6324L22.7431%2020.63L22.505%2020.4477ZM22.5069%2020.4453L22.7449%2020.6276L22.745%2020.6275L22.5069%2020.4453ZM22.5076%2019.1075L22.2651%2019.2841L22.2702%2019.2907L22.5076%2019.1075ZM19.8102%2015.4041L20.0527%2015.2275L20.0463%2015.2193L19.8102%2015.4041ZM19.804%2015.3963L19.5679%2015.5811L19.5679%2015.5811L19.804%2015.3963ZM9.44828%2017.1626C9.44828%2015.7496%2010.6043%2014.5935%2012.0173%2014.5935V13.9939C10.2731%2013.9939%208.8486%2015.4184%208.8486%2017.1626H9.44828ZM9.44828%2031.8372V17.1626H8.8486V31.8372H9.44828ZM12.0173%2034.4063C10.6022%2034.4063%209.44828%2033.2501%209.44828%2031.8372H8.8486C8.8486%2033.581%2010.2707%2035.006%2012.0173%2035.006V34.4063ZM17.5428%2034.4063H12.0173V35.006H17.5428V34.4063ZM19.5676%2033.4211C19.0766%2034.0462%2018.3393%2034.4063%2017.5428%2034.4063V35.006C18.524%2035.006%2019.4349%2034.5608%2020.0392%2033.7915L19.5676%2033.4211ZM19.5681%2033.4205L19.5674%2033.4214L20.0394%2033.7912L20.0401%2033.7903L19.5681%2033.4205ZM32.1764%2017.3022L19.5679%2033.4206L20.0403%2033.7901L32.6488%2017.6717L32.1764%2017.3022ZM37.4552%2017.1871H32.4126V17.7868H37.4552V17.1871ZM37.755%2031.509V17.4869H37.1553V31.509H37.755ZM32.4204%2031.8089H37.4552V31.2092H32.4204V31.8089ZM29.651%2028.1464L32.1763%2031.6833L32.6644%2031.3348L30.1391%2027.7979L29.651%2028.1464ZM29.6511%2028.1469L29.6594%2028.1575L30.1307%2027.7867L30.1224%2027.7761L29.6511%2028.1469ZM28.3992%2028.1469C28.7176%2027.7422%2029.3327%2027.7422%2029.6511%2028.1469L30.1224%2027.7761C29.5639%2027.0662%2028.4864%2027.0662%2027.9279%2027.7761L28.3992%2028.1469ZM27.7558%2028.9666L28.3994%2028.1466L27.9277%2027.7764L27.2841%2028.5964L27.7558%2028.9666ZM27.7559%2028.9665L27.7581%2028.9637L27.2819%2028.5993L27.2797%2028.6021L27.7559%2028.9665ZM27.7508%2029.9365C27.5333%2029.65%2027.5374%2029.2521%2027.7559%2028.9665L27.2797%2028.6021C26.9002%2029.098%2026.8893%2029.7935%2027.2732%2030.2991L27.7508%2029.9365ZM30.2293%2033.4197L27.7563%2029.944L27.2677%2030.2916L29.7407%2033.7674L30.2293%2033.4197ZM30.2293%2033.4191L30.2208%2033.4083L29.7492%2033.7788L29.7577%2033.7896L30.2293%2033.4191ZM32.2541%2034.4044C31.4617%2034.4044%2030.7205%2034.0445%2030.2293%2033.4191L29.7577%2033.7896C30.3625%2034.5595%2031.2775%2035.0041%2032.2541%2035.0041V34.4044ZM37.7795%2034.4044H32.2541V35.0041H37.7795V34.4044ZM40.3486%2031.8353C40.3486%2033.2521%2039.1985%2034.4044%2037.7795%2034.4044V35.0041C39.5301%2035.0041%2040.9483%2033.5829%2040.9483%2031.8353H40.3486ZM40.3486%2017.1626V31.8353H40.9483V17.1626H40.3486ZM37.7795%2014.5935C39.1987%2014.5935%2040.3486%2015.7479%2040.3486%2017.1626H40.9483C40.9483%2015.4174%2039.5305%2013.9939%2037.7795%2013.9939V14.5935ZM32.2541%2014.5935H37.7795V13.9939H32.2541V14.5935ZM30.2289%2015.5812C30.72%2014.9537%2031.4596%2014.5935%2032.2541%2014.5935V13.9939C31.2749%2013.9939%2030.3613%2014.4391%2029.7567%2015.2116L30.2289%2015.5812ZM17.6219%2031.6957L30.2289%2015.5811L29.7566%2015.2116L17.1496%2031.3262L17.6219%2031.6957ZM12.3417%2031.8108H17.3858V31.2111H12.3417V31.8108ZM12.0418%2017.4889V31.511H12.6415V17.4889H12.0418ZM17.3757%2017.189H12.3417V17.7887H17.3757V17.189ZM20.375%2021.0803L17.6177%2017.3118L17.1337%2017.6659L19.891%2021.4344L20.375%2021.0803ZM20.3749%2021.08L20.3693%2021.0728L19.8967%2021.4419L19.9023%2021.4491L20.3749%2021.08ZM21.6292%2021.0809C21.3091%2021.4869%2020.6937%2021.488%2020.3749%2021.08L19.9023%2021.4491C20.4627%2022.1665%2021.5415%2022.1608%2022.1001%2021.4522L21.6292%2021.0809ZM21.6302%2021.0796L21.6288%2021.0814L22.1005%2021.4517L22.1019%2021.45L21.6302%2021.0796ZM22.2688%2020.263L21.6299%2021.0801L22.1023%2021.4495L22.7412%2020.6324L22.2688%2020.263ZM22.2688%2020.263L22.2669%2020.2654L22.7431%2020.63L22.7449%2020.6276L22.2688%2020.263ZM22.2702%2019.2907C22.4916%2019.5777%2022.4877%2019.977%2022.2687%2020.2631L22.745%2020.6275C23.1252%2020.1307%2023.1363%2019.4315%2022.7449%2018.9243L22.2702%2019.2907ZM19.5678%2015.5807L22.2652%2019.284L22.7499%2018.931L20.0525%2015.2276L19.5678%2015.5807ZM19.5679%2015.5811L19.5741%2015.589L20.0463%2015.2193L20.0401%2015.2114L19.5679%2015.5811ZM17.5428%2014.5935C18.3394%2014.5935%2019.0768%2014.9537%2019.5679%2015.5811L20.0401%2015.2114C19.4357%2014.4393%2018.5243%2013.9939%2017.5428%2013.9939V14.5935ZM12.0173%2014.5935H17.5428V13.9939H12.0173V14.5935Z'%20fill='white'/%3e%3c/svg%3e";function JA(e){let t,n,r,o=!1;return function(s){void 0===t?(t=s,n=0,r=-1):t=function(e,t){const n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}(t,s);const i=t.length;let l=0;for(;n{const m=Object.assign({},r);let A;function b(){A.abort(),document.hidden||N()}m.accept||(m.accept=au),l||document.addEventListener("visibilitychange",b);let C=1e3,h=0;function g(){document.removeEventListener("visibilitychange",b),window.clearTimeout(h),A.abort()}null==n||n.addEventListener("abort",(()=>{g(),p()}));const E=u??window.fetch,v=o??ab;async function N(){var _;A=new AbortController;try{const S=await E(e,Object.assign(Object.assign({},c),{headers:m,signal:A.signal}));await v(S),await async function(e,t){const n=e.getReader();let r;for(;!(r=await n.read()).done;)t(r.value)}(S.body,JA(function(e,t,n){let r={data:"",event:"",id:"",retry:void 0};const o=new TextDecoder;return function(s,i){if(0===s.length)null==n||n(r),r={data:"",event:"",id:"",retry:void 0};else if(i>0){const l=o.decode(s.subarray(0,i)),u=i+(32===s[i+1]?2:1),c=o.decode(s.subarray(u));switch(l){case"data":r.data=r.data?r.data+"\n"+c:c;break;case"event":r.event=c;break;case"id":e(r.id=c);break;case"retry":const p=parseInt(c,10);isNaN(p)||t(r.retry=p)}}}}((R=>{R?m[Dp]=R:delete m[Dp]}),(R=>{C=R}),a))),null==s||s(),g(),p()}catch(S){if(!A.signal.aborted)try{const R=null!==(_=null==i?void 0:i(S))&&void 0!==_?_:C;window.clearTimeout(h),h=window.setTimeout(N,R)}catch(R){g(),d(R)}}}N()}))}function ab(e){const t=e.headers.get("content-type");if(null==t||!t.startsWith(au))throw new Error(`Expected content-type to be ${au}, Actual: ${t}`)}const ds={embedSessionHistory:async function(e,t){const{embedId:n,baseApiUrl:r}=e;return await fetch(`${r}/${n}/${t}`).then((o=>{if(o.ok)return o.json();throw new Error("Invalid response from server")})).then((o=>o.history.map((a=>({...a,id:zn(),sender:"user"===a.role?"user":"system",textResponse:a.content,close:!1}))))).catch((o=>(console.error(o),[])))},resetEmbedChatSession:async function(e,t){const{baseApiUrl:n,embedId:r}=e;return await fetch(`${n}/${r}/${t}`,{method:"DELETE"}).then((o=>o.ok)).catch((()=>!1))},streamChat:async function(e,t,n,r){const{baseApiUrl:o,embedId:a}=t,s={prompt:(null==t?void 0:t.prompt)??null,model:(null==t?void 0:t.model)??null,temperature:(null==t?void 0:t.temperature)??null},i=new AbortController;await ob(`${o}/${a}/stream-chat`,{method:"POST",body:JSON.stringify({message:n,sessionId:e,...s}),signal:i.signal,openWhenHidden:!0,async onopen(l){if(!l.ok)throw l.status>=400?(await l.json().then((u=>{r(u)})).catch((()=>{r({id:zn(),type:"abort",textResponse:null,sources:[],close:!0,error:`An error occurred while streaming response. Code ${l.status}`})})),i.abort(),new Error):(r({id:zn(),type:"abort",textResponse:null,sources:[],close:!0,error:"An error occurred while streaming response. Unknown Error."}),i.abort(),new Error("Unknown Error"))},async onmessage(l){try{const u=JSON.parse(l.data);r(u)}catch{}},onerror(l){throw r({id:zn(),type:"abort",textResponse:null,sources:[],close:!0,error:`An error occurred while streaming response. ${l.message}`}),i.abort(),new Error}})}};function yp({sessionId:e,settings:t={},iconUrl:n=null,closeChat:r,setChatHistory:o}){const[a,s]=Z.useState(!1),i=Z.useRef(),l=Z.useRef();return Z.useEffect((()=>{function c(p){i.current&&!i.current.contains(p.target)&&l.current&&!l.current.contains(p.target)&&s(!1)}return document.addEventListener("mousedown",c),()=>{document.removeEventListener("mousedown",c)}}),[i]),w.jsxs("div",{className:"flex items-center relative rounded-t-2xl bg-black/10",id:"anything-llm-header",children:[w.jsx("div",{className:"flex justify-center items-center w-full h-[76px]",children:w.jsx("img",{style:{maxWidth:48,maxHeight:48},src:n??ko,alt:n?"Brand":"AnythingLLM Logo"})}),w.jsxs("div",{className:"absolute right-0 flex gap-x-1 items-center px-[22px]",children:[t.loaded&&w.jsx("button",{ref:l,type:"button",onClick:()=>s(!a),className:"hover:bg-gray-100 rounded-sm text-slate-800","aria-label":"Options",children:w.jsx(X2,{size:20,weight:"fill"})}),w.jsx("button",{type:"button",onClick:r,className:"hover:bg-gray-100 rounded-sm text-slate-800","aria-label":"Close",children:w.jsx(_p,{size:20,weight:"bold"})})]}),w.jsx(sb,{settings:t,showing:a,resetChat:async()=>{await ds.resetEmbedChatSession(t,e),o([]),s(!1)},sessionId:e,menuRef:i})]})}function sb({settings:e,showing:t,resetChat:n,sessionId:r,menuRef:o}){return t?w.jsxs("div",{ref:o,className:"absolute z-10 bg-white flex flex-col gap-y-1 rounded-xl shadow-lg border border-gray-300 top-[64px] right-[46px]",children:[w.jsxs("button",{onClick:n,className:"flex items-center gap-x-2 hover:bg-gray-100 text-sm text-gray-700 py-2.5 px-4 rounded-xl",children:[w.jsx(L2,{size:24}),w.jsx("p",{className:"text-sm text-[#7A7D7E] font-bold",children:"Reset Chat"})]}),w.jsx(lb,{email:e.supportEmail}),w.jsx(ib,{sessionId:r})]}):null}function ib({sessionId:e}){if(!e)return null;const[t,n]=Z.useState(!1);return t?w.jsxs("div",{className:"flex items-center gap-x-2 hover:bg-gray-100 text-sm text-gray-700 py-2.5 px-4 rounded-xl",children:[w.jsx(z2,{size:24}),w.jsx("p",{className:"text-sm text-[#7A7D7E] font-bold",children:"Copied!"})]}):w.jsxs("button",{onClick:()=>{navigator.clipboard.writeText(e),n(!0),setTimeout((()=>n(!1)),1e3)},className:"flex items-center gap-x-2 hover:bg-gray-100 text-sm text-gray-700 py-2.5 px-4 rounded-xl",children:[w.jsx(W2,{size:24}),w.jsx("p",{className:"text-sm text-[#7A7D7E] font-bold",children:"Session ID"})]})}function lb({email:e=null}){if(!e)return null;const t=`Inquiry from ${window.location.origin}`;return w.jsxs("a",{href:`mailto:${e}?Subject=${encodeURIComponent(t)}`,className:"flex items-center gap-x-2 hover:bg-gray-100 text-sm text-gray-700 py-2.5 px-4 rounded-xl",children:[w.jsx(ep,{size:24}),w.jsx("p",{className:"text-sm text-[#7A7D7E] font-bold",children:"Email Support"})]})}function ub(){const e=y2();return e?w.jsx("div",{className:"text-xs text-gray-300 w-full text-center",children:e}):null}var ps={exports:{}};/*! https://mths.be/he v1.2.0 by @mathias | MIT license */!function(e,t){!function(n){var r=t,o=e&&e.exports==r&&e,a="object"==typeof Nt&&Nt;(a.global===a||a.window===a)&&(n=a);var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,i=/[\x01-\x7F]/g,l=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,u=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,c={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon","ˆ":"circ","ˇ":"caron","°":"deg","©":"copy","®":"reg","℗":"copysr","℘":"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","𝒶":"ascr","𝕒":"aopf","𝔞":"afr","𝔸":"Aopf","𝔄":"Afr","𝒜":"Ascr","ª":"ordf","á":"aacute","Á":"Aacute","à":"agrave","À":"Agrave","ă":"abreve","Ă":"Abreve","â":"acirc","Â":"Acirc","å":"aring","Å":"angst","ä":"auml","Ä":"Auml","ã":"atilde","Ã":"Atilde","ą":"aogon","Ą":"Aogon","ā":"amacr","Ā":"Amacr","æ":"aelig","Æ":"AElig","𝒷":"bscr","𝕓":"bopf","𝔟":"bfr","𝔹":"Bopf","ℬ":"Bscr","𝔅":"Bfr","𝔠":"cfr","𝒸":"cscr","𝕔":"copf","ℭ":"Cfr","𝒞":"Cscr","ℂ":"Copf","ć":"cacute","Ć":"Cacute","ĉ":"ccirc","Ĉ":"Ccirc","č":"ccaron","Č":"Ccaron","ċ":"cdot","Ċ":"Cdot","ç":"ccedil","Ç":"Ccedil","℅":"incare","𝔡":"dfr","ⅆ":"dd","𝕕":"dopf","𝒹":"dscr","𝒟":"Dscr","𝔇":"Dfr","ⅅ":"DD","𝔻":"Dopf","ď":"dcaron","Ď":"Dcaron","đ":"dstrok","Đ":"Dstrok","ð":"eth","Ð":"ETH","ⅇ":"ee","ℯ":"escr","𝔢":"efr","𝕖":"eopf","ℰ":"Escr","𝔈":"Efr","𝔼":"Eopf","é":"eacute","É":"Eacute","è":"egrave","È":"Egrave","ê":"ecirc","Ê":"Ecirc","ě":"ecaron","Ě":"Ecaron","ë":"euml","Ë":"Euml","ė":"edot","Ė":"Edot","ę":"eogon","Ę":"Eogon","ē":"emacr","Ē":"Emacr","𝔣":"ffr","𝕗":"fopf","𝒻":"fscr","𝔉":"Ffr","𝔽":"Fopf","ℱ":"Fscr","ff":"fflig","ffi":"ffilig","ffl":"ffllig","fi":"filig",fj:"fjlig","fl":"fllig","ƒ":"fnof","ℊ":"gscr","𝕘":"gopf","𝔤":"gfr","𝒢":"Gscr","𝔾":"Gopf","𝔊":"Gfr","ǵ":"gacute","ğ":"gbreve","Ğ":"Gbreve","ĝ":"gcirc","Ĝ":"Gcirc","ġ":"gdot","Ġ":"Gdot","Ģ":"Gcedil","𝔥":"hfr","ℎ":"planckh","𝒽":"hscr","𝕙":"hopf","ℋ":"Hscr","ℌ":"Hfr","ℍ":"Hopf","ĥ":"hcirc","Ĥ":"Hcirc","ℏ":"hbar","ħ":"hstrok","Ħ":"Hstrok","𝕚":"iopf","𝔦":"ifr","𝒾":"iscr","ⅈ":"ii","𝕀":"Iopf","ℐ":"Iscr","ℑ":"Im","í":"iacute","Í":"Iacute","ì":"igrave","Ì":"Igrave","î":"icirc","Î":"Icirc","ï":"iuml","Ï":"Iuml","ĩ":"itilde","Ĩ":"Itilde","İ":"Idot","į":"iogon","Į":"Iogon","ī":"imacr","Ī":"Imacr","ij":"ijlig","IJ":"IJlig","ı":"imath","𝒿":"jscr","𝕛":"jopf","𝔧":"jfr","𝒥":"Jscr","𝔍":"Jfr","𝕁":"Jopf","ĵ":"jcirc","Ĵ":"Jcirc","ȷ":"jmath","𝕜":"kopf","𝓀":"kscr","𝔨":"kfr","𝒦":"Kscr","𝕂":"Kopf","𝔎":"Kfr","ķ":"kcedil","Ķ":"Kcedil","𝔩":"lfr","𝓁":"lscr","ℓ":"ell","𝕝":"lopf","ℒ":"Lscr","𝔏":"Lfr","𝕃":"Lopf","ĺ":"lacute","Ĺ":"Lacute","ľ":"lcaron","Ľ":"Lcaron","ļ":"lcedil","Ļ":"Lcedil","ł":"lstrok","Ł":"Lstrok","ŀ":"lmidot","Ŀ":"Lmidot","𝔪":"mfr","𝕞":"mopf","𝓂":"mscr","𝔐":"Mfr","𝕄":"Mopf","ℳ":"Mscr","𝔫":"nfr","𝕟":"nopf","𝓃":"nscr","ℕ":"Nopf","𝒩":"Nscr","𝔑":"Nfr","ń":"nacute","Ń":"Nacute","ň":"ncaron","Ň":"Ncaron","ñ":"ntilde","Ñ":"Ntilde","ņ":"ncedil","Ņ":"Ncedil","№":"numero","ŋ":"eng","Ŋ":"ENG","𝕠":"oopf","𝔬":"ofr","ℴ":"oscr","𝒪":"Oscr","𝔒":"Ofr","𝕆":"Oopf","º":"ordm","ó":"oacute","Ó":"Oacute","ò":"ograve","Ò":"Ograve","ô":"ocirc","Ô":"Ocirc","ö":"ouml","Ö":"Ouml","ő":"odblac","Ő":"Odblac","õ":"otilde","Õ":"Otilde","ø":"oslash","Ø":"Oslash","ō":"omacr","Ō":"Omacr","œ":"oelig","Œ":"OElig","𝔭":"pfr","𝓅":"pscr","𝕡":"popf","ℙ":"Popf","𝔓":"Pfr","𝒫":"Pscr","𝕢":"qopf","𝔮":"qfr","𝓆":"qscr","𝒬":"Qscr","𝔔":"Qfr","ℚ":"Qopf","ĸ":"kgreen","𝔯":"rfr","𝕣":"ropf","𝓇":"rscr","ℛ":"Rscr","ℜ":"Re","ℝ":"Ropf","ŕ":"racute","Ŕ":"Racute","ř":"rcaron","Ř":"Rcaron","ŗ":"rcedil","Ŗ":"Rcedil","𝕤":"sopf","𝓈":"sscr","𝔰":"sfr","𝕊":"Sopf","𝔖":"Sfr","𝒮":"Sscr","Ⓢ":"oS","ś":"sacute","Ś":"Sacute","ŝ":"scirc","Ŝ":"Scirc","š":"scaron","Š":"Scaron","ş":"scedil","Ş":"Scedil","ß":"szlig","𝔱":"tfr","𝓉":"tscr","𝕥":"topf","𝒯":"Tscr","𝔗":"Tfr","𝕋":"Topf","ť":"tcaron","Ť":"Tcaron","ţ":"tcedil","Ţ":"Tcedil","™":"trade","ŧ":"tstrok","Ŧ":"Tstrok","𝓊":"uscr","𝕦":"uopf","𝔲":"ufr","𝕌":"Uopf","𝔘":"Ufr","𝒰":"Uscr","ú":"uacute","Ú":"Uacute","ù":"ugrave","Ù":"Ugrave","ŭ":"ubreve","Ŭ":"Ubreve","û":"ucirc","Û":"Ucirc","ů":"uring","Ů":"Uring","ü":"uuml","Ü":"Uuml","ű":"udblac","Ű":"Udblac","ũ":"utilde","Ũ":"Utilde","ų":"uogon","Ų":"Uogon","ū":"umacr","Ū":"Umacr","𝔳":"vfr","𝕧":"vopf","𝓋":"vscr","𝔙":"Vfr","𝕍":"Vopf","𝒱":"Vscr","𝕨":"wopf","𝓌":"wscr","𝔴":"wfr","𝒲":"Wscr","𝕎":"Wopf","𝔚":"Wfr","ŵ":"wcirc","Ŵ":"Wcirc","𝔵":"xfr","𝓍":"xscr","𝕩":"xopf","𝕏":"Xopf","𝔛":"Xfr","𝒳":"Xscr","𝔶":"yfr","𝓎":"yscr","𝕪":"yopf","𝒴":"Yscr","𝔜":"Yfr","𝕐":"Yopf","ý":"yacute","Ý":"Yacute","ŷ":"ycirc","Ŷ":"Ycirc","ÿ":"yuml","Ÿ":"Yuml","𝓏":"zscr","𝔷":"zfr","𝕫":"zopf","ℨ":"Zfr","ℤ":"Zopf","𝒵":"Zscr","ź":"zacute","Ź":"Zacute","ž":"zcaron","Ž":"Zcaron","ż":"zdot","Ż":"Zdot","Ƶ":"imped","þ":"thorn","Þ":"THORN","ʼn":"napos","α":"alpha","Α":"Alpha","β":"beta","Β":"Beta","γ":"gamma","Γ":"Gamma","δ":"delta","Δ":"Delta","ε":"epsi","ϵ":"epsiv","Ε":"Epsilon","ϝ":"gammad","Ϝ":"Gammad","ζ":"zeta","Ζ":"Zeta","η":"eta","Η":"Eta","θ":"theta","ϑ":"thetav","Θ":"Theta","ι":"iota","Ι":"Iota","κ":"kappa","ϰ":"kappav","Κ":"Kappa","λ":"lambda","Λ":"Lambda","μ":"mu","µ":"micro","Μ":"Mu","ν":"nu","Ν":"Nu","ξ":"xi","Ξ":"Xi","ο":"omicron","Ο":"Omicron","π":"pi","ϖ":"piv","Π":"Pi","ρ":"rho","ϱ":"rhov","Ρ":"Rho","σ":"sigma","Σ":"Sigma","ς":"sigmaf","τ":"tau","Τ":"Tau","υ":"upsi","Υ":"Upsilon","ϒ":"Upsi","φ":"phi","ϕ":"phiv","Φ":"Phi","χ":"chi","Χ":"Chi","ψ":"psi","Ψ":"Psi","ω":"omega","Ω":"ohm","а":"acy","А":"Acy","б":"bcy","Б":"Bcy","в":"vcy","В":"Vcy","г":"gcy","Г":"Gcy","ѓ":"gjcy","Ѓ":"GJcy","д":"dcy","Д":"Dcy","ђ":"djcy","Ђ":"DJcy","е":"iecy","Е":"IEcy","ё":"iocy","Ё":"IOcy","є":"jukcy","Є":"Jukcy","ж":"zhcy","Ж":"ZHcy","з":"zcy","З":"Zcy","ѕ":"dscy","Ѕ":"DScy","и":"icy","И":"Icy","і":"iukcy","І":"Iukcy","ї":"yicy","Ї":"YIcy","й":"jcy","Й":"Jcy","ј":"jsercy","Ј":"Jsercy","к":"kcy","К":"Kcy","ќ":"kjcy","Ќ":"KJcy","л":"lcy","Л":"Lcy","љ":"ljcy","Љ":"LJcy","м":"mcy","М":"Mcy","н":"ncy","Н":"Ncy","њ":"njcy","Њ":"NJcy","о":"ocy","О":"Ocy","п":"pcy","П":"Pcy","р":"rcy","Р":"Rcy","с":"scy","С":"Scy","т":"tcy","Т":"Tcy","ћ":"tshcy","Ћ":"TSHcy","у":"ucy","У":"Ucy","ў":"ubrcy","Ў":"Ubrcy","ф":"fcy","Ф":"Fcy","х":"khcy","Х":"KHcy","ц":"tscy","Ц":"TScy","ч":"chcy","Ч":"CHcy","џ":"dzcy","Џ":"DZcy","ш":"shcy","Ш":"SHcy","щ":"shchcy","Щ":"SHCHcy","ъ":"hardcy","Ъ":"HARDcy","ы":"ycy","Ы":"Ycy","ь":"softcy","Ь":"SOFTcy","э":"ecy","Э":"Ecy","ю":"yucy","Ю":"YUcy","я":"yacy","Я":"YAcy","ℵ":"aleph","ℶ":"beth","ℷ":"gimel","ℸ":"daleth"},p=/["&'<>`]/g,d={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},m=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,A=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,b=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,C={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},h={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},g={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},E=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],v=String.fromCharCode,_={}.hasOwnProperty,S=function(y,L){return _.call(y,L)},q=function(y,L){if(!y)return L;var H,k={};for(H in L)k[H]=S(y,H)?y[H]:L[H];return k},I=function(y,L){var k="";return y>=55296&&y<=57343||y>1114111?(L&&Y("character reference outside the permissible Unicode range"),"�"):S(g,y)?(L&&Y("disallowed character reference"),g[y]):(L&&function(y,L){for(var k=-1,H=y.length;++k65535&&(k+=v((y-=65536)>>>10&1023|55296),y=56320|1023&y),k+=v(y))},Q=function(y){return"&#x"+y.toString(16).toUpperCase()+";"},ie=function(y){return"&#"+y+";"},Y=function(y){throw Error("Parse error: "+y)},O=function(y,L){(L=q(L,O.options)).strict&&A.test(y)&&Y("forbidden code point");var H=L.encodeEverything,j=L.useNamedReferences,fe=L.allowUnsafeSymbols,ce=L.decimal?ie:Q,se=function(le){return ce(le.charCodeAt(0))};return H?(y=y.replace(i,(function(le){return j&&S(c,le)?"&"+c[le]+";":se(le)})),j&&(y=y.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),j&&(y=y.replace(u,(function(le){return"&"+c[le]+";"})))):j?(fe||(y=y.replace(p,(function(le){return"&"+c[le]+";"}))),y=(y=y.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒")).replace(u,(function(le){return"&"+c[le]+";"}))):fe||(y=y.replace(p,se)),y.replace(s,(function(le){var mt=le.charCodeAt(0),Ft=le.charCodeAt(1);return ce(1024*(mt-55296)+Ft-56320+65536)})).replace(l,se)};O.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var G=function(y,L){var k=(L=q(L,G.options)).strict;return k&&m.test(y)&&Y("malformed character reference"),y.replace(b,(function(H,j,fe,ce,se,le,mt,Ft,ht){var Ge,Ct,te,Re,ke,Ce;return j?C[ke=j]:fe?(ke=fe,(Ce=ce)&&L.isAttributeValue?(k&&"="==Ce&&Y("`&` did not start a character reference"),H):(k&&Y("named character reference was not terminated by a semicolon"),h[ke]+(Ce||""))):se?(te=se,Ct=le,k&&!Ct&&Y("character reference was not terminated by a semicolon"),Ge=parseInt(te,10),I(Ge,k)):mt?(Re=mt,Ct=Ft,k&&!Ct&&Y("character reference was not terminated by a semicolon"),Ge=parseInt(Re,16),I(Ge,k)):(k&&Y("named character reference was not terminated by a semicolon"),H)}))};G.options={isAttributeValue:!1,strict:!1};var x={version:"1.2.0",encode:O,decode:G,escape:function(y){return y.replace(p,(function(L){return d[L]}))},unescape:G};if(r&&!r.nodeType)if(o)o.exports=x;else for(var T in x)S(x,T)&&(r[T]=x[T]);else n.he=x}(Nt)}(ps,ps.exports);var db=ps.exports,ae={},Tp={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅",in:"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺",int:"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},su=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/,xr={},Cp={};function fs(e,t,n){var r,o,a,s,i,l="";for("string"!=typeof t&&(n=t,t=fs.defaultChars),typeof n>"u"&&(n=!0),i=function(e){var t,n,r=Cp[e];if(r)return r;for(r=Cp[e]=[],t=0;t<128;t++)n=String.fromCharCode(t),/^[0-9a-z]$/i.test(n)?r.push(n):r.push("%"+("0"+t.toString(16).toUpperCase()).slice(-2));for(t=0;t=55296&&a<=57343){if(a>=55296&&a<=56319&&r+1=56320&&s<=57343)){l+=encodeURIComponent(e[r]+e[r+1]),r++;continue}l+="%EF%BF%BD"}else l+=encodeURIComponent(e[r]);return l}fs.defaultChars=";/?:@&=+$,-_.!~*'()#",fs.componentChars="-_.!~*'()";var fb=fs,Np={};function gs(e,t){var n;return"string"!=typeof t&&(t=gs.defaultChars),n=function(e){var t,n,r=Np[e];if(r)return r;for(r=Np[e]=[],t=0;t<128;t++)n=String.fromCharCode(t),r.push(n);for(t=0;t=55296&&c<=57343?"���":String.fromCharCode(c),o+=6):240==(248&s)&&o+91114111?p+="����":(c-=65536,p+=String.fromCharCode(55296+(c>>10),56320+(1023&c))),o+=9):p+="�";return p}))}gs.defaultChars=";/?:@&=+$,#",gs.componentChars="";var mb=gs;function ms(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var Eb=/^([a-z0-9.+-]+:)/i,Ab=/:[0-9]*$/,bb=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,vb=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),Db=["'"].concat(vb),Sp=["%","/","?",";","#"].concat(Db),wp=["/","?","#"],xp=/^[+a-z0-9A-Z_-]{0,63}$/,Tb=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Rp={javascript:!0,"javascript:":!0},Lp={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};ms.prototype.parse=function(e,t){var n,r,o,a,s,i=e;if(i=i.trim(),!t&&1===e.split("#").length){var l=bb.exec(i);if(l)return this.pathname=l[1],l[2]&&(this.search=l[2]),this}var u=Eb.exec(i);if(u&&(o=(u=u[0]).toLowerCase(),this.protocol=u,i=i.substr(u.length)),(t||u||i.match(/^\/\/[^@\/]+@[^@\/]+/))&&((s="//"===i.substr(0,2))&&!(u&&Rp[u])&&(i=i.substr(2),this.slashes=!0)),!Rp[u]&&(s||u&&!Lp[u])){var p,d,c=-1;for(n=0;n127?h+="x":h+=C[g];if(!h.match(xp)){var v=b.slice(0,n),N=b.slice(n+1),_=C.match(Tb);_&&(v.push(_[1]),N.unshift(_[2])),N.length&&(i=N.join(".")+i),this.hostname=v.join(".");break}}}}this.hostname.length>255&&(this.hostname=""),A&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}var S=i.indexOf("#");-1!==S&&(this.hash=i.substr(S),i=i.slice(0,S));var R=i.indexOf("?");return-1!==R&&(this.search=i.substr(R),i=i.slice(0,R)),i&&(this.pathname=i),Lp[o]&&this.hostname&&!this.pathname&&(this.pathname=""),this},ms.prototype.parseHost=function(e){var t=Ab.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};var Nb=function(e,t){if(e&&e instanceof ms)return e;var n=new ms;return n.parse(e,t),n};xr.encode=fb,xr.decode=mb,xr.format=function(t){var n="";return n+=t.protocol||"",n+=t.slashes?"//":"",n+=t.auth?t.auth+"@":"",t.hostname&&-1!==t.hostname.indexOf(":")?n+="["+t.hostname+"]":n+=t.hostname||"",n+=t.port?":"+t.port:"",n+=t.pathname||"",n+=t.search||"",n+=t.hash||""},xr.parse=Nb;var iu,Op,lu,Ip,uu,Fp,cu,Bp,Up,Gn={};function kp(){return Op||(Op=1,iu=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/),iu}function Mp(){return Ip||(Ip=1,lu=/[\0-\x1F\x7F-\x9F]/),lu}function Pp(){return Bp||(Bp=1,cu=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/),cu}function wb(){return Up||(Up=1,Gn.Any=kp(),Gn.Cc=Mp(),Gn.Cf=(Fp||(Fp=1,uu=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/),uu),Gn.P=su,Gn.Z=Pp()),Gn}!function(e){var r=Object.prototype.hasOwnProperty;function o(O,G){return r.call(O,G)}function i(O){return!(O>=55296&&O<=57343||O>=64976&&O<=65007||65535==(65535&O)||65534==(65535&O)||O>=0&&O<=8||11===O||O>=14&&O<=31||O>=127&&O<=159||O>1114111)}function l(O){if(O>65535){var G=55296+((O-=65536)>>10),P=56320+(1023&O);return String.fromCharCode(G,P)}return String.fromCharCode(O)}var u=/\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g,p=new RegExp(u.source+"|"+/&([a-z#][a-z0-9]{1,31});/gi.source,"gi"),d=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i,m=Tp;var h=/[&<>"]/,g=/[&<>"]/g,E={"&":"&","<":"<",">":">",'"':"""};function v(O){return E[O]}var _=/[.?*+^$[\]\\(){}|-]/g;var I=su;e.lib={},e.lib.mdurl=xr,e.lib.ucmicro=wb(),e.assign=function(O){return Array.prototype.slice.call(arguments,1).forEach((function(P){if(P){if("object"!=typeof P)throw new TypeError(P+"must be object");Object.keys(P).forEach((function(x){O[x]=P[x]}))}})),O},e.isString=function(O){return"[object String]"===function(O){return Object.prototype.toString.call(O)}(O)},e.has=o,e.unescapeMd=function(O){return O.indexOf("\\")<0?O:O.replace(u,"$1")},e.unescapeAll=function(O){return O.indexOf("\\")<0&&O.indexOf("&")<0?O:O.replace(p,(function(G,P,x){return P||function(O,G){var P;return o(m,G)?m[G]:35===G.charCodeAt(0)&&d.test(G)&&i(P="x"===G[1].toLowerCase()?parseInt(G.slice(2),16):parseInt(G.slice(1),10))?l(P):O}(G,x)}))},e.isValidEntityCode=i,e.fromCodePoint=l,e.escapeHtml=function(O){return h.test(O)?O.replace(g,v):O},e.arrayReplaceAt=function(O,G,P){return[].concat(O.slice(0,G),P,O.slice(G+1))},e.isSpace=function(O){switch(O){case 9:case 32:return!0}return!1},e.isWhiteSpace=function(O){if(O>=8192&&O<=8202)return!0;switch(O){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1},e.isMdAsciiPunct=function(O){switch(O){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}},e.isPunctChar=function(O){return I.test(O)},e.escapeRE=function(O){return O.replace(_,"\\$&")},e.normalizeReference=function(O){return O=O.trim().replace(/\s+/g," "),"Ṿ"==="ẞ".toLowerCase()&&(O=O.replace(/ẞ/g,"ß")),O.toLowerCase().toUpperCase()}}(ae);var hs={},qp=ae.unescapeAll,Lb=ae.unescapeAll;hs.parseLinkLabel=function(t,n,r){var o,a,s,i,l=-1,u=t.posMax,c=t.pos;for(t.pos=n+1,o=1;t.pos32)return i;if(41===o){if(0===a)break;a--}s++}return n===s||0!==a||(i.str=qp(t.slice(n,s)),i.pos=s,i.ok=!0),i},hs.parseLinkTitle=function(t,n,r){var o,a,s=0,i=n,l={ok:!1,pos:0,lines:0,str:""};if(i>=r||34!==(a=t.charCodeAt(i))&&39!==a&&40!==a)return l;for(i++,40===a&&(a=41);i"+$n(a.content)+""},zt.code_block=function(e,t,n,r,o){var a=e[t];return""+$n(e[t].content)+"\n"},zt.fence=function(e,t,n,r,o){var u,c,p,d,m,a=e[t],s=a.info?Ib(a.info).trim():"",i="",l="";return s&&(i=(p=s.split(/(\s+)/g))[0],l=p.slice(2).join("")),0===(u=n.highlight&&n.highlight(a.content,i,l)||$n(a.content)).indexOf(""+u+"\n"):"
"+u+"
\n"},zt.image=function(e,t,n,r,o){var a=e[t];return a.attrs[a.attrIndex("alt")][1]=o.renderInlineAsText(a.children,n,r),o.renderToken(e,t,n)},zt.hardbreak=function(e,t,n){return n.xhtmlOut?"
\n":"
\n"},zt.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?"
\n":"
\n":"\n"},zt.text=function(e,t){return $n(e[t].content)},zt.html_block=function(e,t){return e[t].content},zt.html_inline=function(e,t){return e[t].content},Rr.prototype.renderAttrs=function(t){var n,r,o;if(!t.attrs)return"";for(o="",n=0,r=t.attrs.length;n\n":">")},Rr.prototype.renderInline=function(e,t,n){for(var r,o="",a=this.rules,s=0,i=e.length;s\s]/i.test(e)}function zb(e){return/^<\/a\s*>/i.test(e)}var Hp=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/,$b=/\((c|tm|r)\)/i,Zb=/\((c|tm|r)\)/gi,jb={c:"©",r:"®",tm:"™"};function Wb(e,t){return jb[t.toLowerCase()]}function Yb(e){var t,n,r=0;for(t=e.length-1;t>=0;t--)"text"===(n=e[t]).type&&!r&&(n.content=n.content.replace(Zb,Wb)),"link_open"===n.type&&"auto"===n.info&&r--,"link_close"===n.type&&"auto"===n.info&&r++}function Kb(e){var t,n,r=0;for(t=e.length-1;t>=0;t--)"text"===(n=e[t]).type&&!r&&Hp.test(n.content)&&(n.content=n.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/gm,"$1—").replace(/(^|\s)--(?=\s|$)/gm,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm,"$1–")),"link_open"===n.type&&"auto"===n.info&&r--,"link_close"===n.type&&"auto"===n.info&&r++}var Vp=ae.isWhiteSpace,zp=ae.isPunctChar,Gp=ae.isMdAsciiPunct,Qb=/['"]/,$p=/['"]/g;function Es(e,t,n){return e.slice(0,t)+n+e.slice(t+1)}function Jb(e,t){var n,r,o,a,s,i,l,u,c,p,d,m,A,b,C,h,g,E,v,N,_;for(v=[],n=0;n=0&&!(v[g].level<=l);g--);if(v.length=g+1,"text"===r.type){s=0,i=(o=r.content).length;e:for(;s=0)c=o.charCodeAt(a.index-1);else for(g=n-1;g>=0&&"softbreak"!==e[g].type&&"hardbreak"!==e[g].type;g--)if(e[g].content){c=e[g].content.charCodeAt(e[g].content.length-1);break}if(p=32,s=48&&c<=57&&(h=C=!1),C&&h&&(C=d,h=m),C||h){if(h)for(g=v.length-1;g>=0&&(u=v[g],!(v[g].level=0&&(r=this.attrs[n][1]),r},Lr.prototype.attrJoin=function(t,n){var r=this.attrIndex(t);r<0?this.attrPush([t,n]):this.attrs[r][1]=this.attrs[r][1]+" "+n};var pu=Lr,n_=pu;function jp(e,t,n){this.src=e,this.env=n,this.tokens=[],this.inlineMode=!1,this.md=t}jp.prototype.Token=n_;var r_=jp,o_=du,fu=[["normalize",function(t){var n;n=(n=t.src.replace(Fb,"\n")).replace(Bb,"�"),t.src=n}],["block",function(t){var n;t.inlineMode?((n=new t.Token("inline","",0)).content=t.src,n.map=[0,1],n.children=[],t.tokens.push(n)):t.md.block.parse(t.src,t.md,t.env,t.tokens)}],["inline",function(t){var r,o,a,n=t.tokens;for(o=0,a=n.length;o=0;n--)if("link_close"!==(i=a[n]).type){if("html_inline"===i.type&&(Vb(i.content)&&A>0&&A--,zb(i.content)&&A++),!(A>0)&&"text"===i.type&&t.md.linkify.test(i.content)){for(c=i.content,E=t.md.linkify.match(c),l=[],m=i.level,d=0,E.length>0&&0===E[0].index&&n>0&&"text_special"===a[n-1].type&&(E=E.slice(1)),u=0;ud&&((s=new t.Token("text","",0)).content=c.slice(d,p),s.level=m,l.push(s)),(s=new t.Token("link_open","a",1)).attrs=[["href",C]],s.level=m++,s.markup="linkify",s.info="auto",l.push(s),(s=new t.Token("text","",0)).content=h,s.level=m,l.push(s),(s=new t.Token("link_close","a",-1)).level=--m,s.markup="linkify",s.info="auto",l.push(s),d=E[u].lastIndex);d=0;n--)"inline"===t.tokens[n].type&&($b.test(t.tokens[n].content)&&Yb(t.tokens[n].children),Hp.test(t.tokens[n].content)&&Kb(t.tokens[n].children))}],["smartquotes",function(t){var n;if(t.md.options.typographer)for(n=t.tokens.length-1;n>=0;n--)"inline"!==t.tokens[n].type||!Qb.test(t.tokens[n].content)||Jb(t.tokens[n].children,t)}],["text_join",function(t){var n,r,o,a,s,i,l=t.tokens;for(n=0,r=l.length;n=a||((n=e.src.charCodeAt(o++))<48||n>57))return-1;for(;;){if(o>=a)return-1;if(!((n=e.src.charCodeAt(o++))>=48&&n<=57)){if(41===n||46===n)break;return-1}if(o-r>=10)return-1}return o`\\x00-\\x20]+|'[^']*'|\"[^\"]*\"))?)*\\s*\\/?>",Jp="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",w_=new RegExp("^(?:"+Qp+"|"+Jp+"|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|<[?][\\s\\S]*?[?]>|]*>|)"),x_=new RegExp("^(?:"+Qp+"|"+Jp+")");bs.HTML_TAG_RE=w_,bs.HTML_OPEN_CLOSE_TAG_RE=x_;var R_=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","source","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],L_=bs.HTML_OPEN_CLOSE_TAG_RE,Or=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(L_.source+"\\s*$"),/^$/,!1]],ef=ae.isSpace,tf=pu,_s=ae.isSpace;function Gt(e,t,n,r){var o,a,s,i,l,u,c,p;for(this.src=e,this.md=t,this.env=n,this.tokens=r,this.bMarks=[],this.eMarks=[],this.tShift=[],this.sCount=[],this.bsCount=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.ddIndent=-1,this.listIndent=-1,this.parentType="root",this.level=0,this.result="",p=!1,s=i=u=c=0,l=(a=this.src).length;i0&&this.level++,this.tokens.push(r),r},Gt.prototype.isEmpty=function(t){return this.bMarks[t]+this.tShift[t]>=this.eMarks[t]},Gt.prototype.skipEmptyLines=function(t){for(var n=this.lineMax;tn;)if(!_s(this.src.charCodeAt(--t)))return t+1;return t},Gt.prototype.skipChars=function(t,n){for(var r=this.src.length;tr;)if(n!==this.src.charCodeAt(--t))return t+1;return t},Gt.prototype.getLines=function(t,n,r,o){var a,s,i,l,u,c,p,d=t;if(t>=n)return"";for(c=new Array(n-t),a=0;dr?new Array(s-r+1).join(" ")+this.src.slice(l,u):this.src.slice(l,u)}return c.join("")},Gt.prototype.Token=tf;var F_=Gt,B_=du,vs=[["table",function(t,n,r,o){var a,s,i,l,u,c,p,d,m,A,b,C,h,g,E,v,N,_;if(n+2>r||(c=n+1,t.sCount[c]=4||(i=t.bMarks[c]+t.tShift[c])>=t.eMarks[c]||124!==(N=t.src.charCodeAt(i++))&&45!==N&&58!==N||i>=t.eMarks[c]||124!==(_=t.src.charCodeAt(i++))&&45!==_&&58!==_&&!mu(_)||45===N&&mu(_))return!1;for(;i=4||((p=Wp(s)).length&&""===p[0]&&p.shift(),p.length&&""===p[p.length-1]&&p.pop(),0===(d=p.length)||d!==A.length))return!1;if(o)return!0;for(g=t.parentType,t.parentType="table",v=t.md.block.ruler.getRules("blockquote"),(m=t.push("table_open","table",1)).map=C=[n,0],(m=t.push("thead_open","thead",1)).map=[n,n+1],(m=t.push("tr_open","tr",1)).map=[n,n+1],l=0;l=4)break;for((p=Wp(s)).length&&""===p[0]&&p.shift(),p.length&&""===p[p.length-1]&&p.pop(),c===n+2&&((m=t.push("tbody_open","tbody",1)).map=h=[n+2,0]),(m=t.push("tr_open","tr",1)).map=[c,c+1],l=0;l=4))break;a=++o}return t.line=a,(s=t.push("code_block","code",0)).content=t.getLines(n,a,4+t.blkIndent,!1)+"\n",s.map=[n,t.line],!0}],["fence",function(t,n,r,o){var a,s,i,l,u,c,p,d=!1,m=t.bMarks[n]+t.tShift[n],A=t.eMarks[n];if(t.sCount[n]-t.blkIndent>=4||m+3>A||126!==(a=t.src.charCodeAt(m))&&96!==a||(u=m,(s=(m=t.skipChars(m,a))-u)<3)||(p=t.src.slice(u,m),i=t.src.slice(m,A),96===a&&i.indexOf(String.fromCharCode(a))>=0))return!1;if(o)return!0;for(l=n;!(++l>=r||(m=u=t.bMarks[l]+t.tShift[l],A=t.eMarks[l],m=4||(m=t.skipChars(m,a),m-u=4||62!==t.src.charCodeAt(I))return!1;if(o)return!0;for(A=[],b=[],g=[],E=[],_=t.md.block.ruler.getRules("blockquote"),h=t.parentType,t.parentType="blockquote",d=n;d=(Q=t.eMarks[d])));d++)if(62!==t.src.charCodeAt(I++)||R){if(c)break;for(N=!1,i=0,u=_.length;i=Q,b.push(t.bsCount[d]),t.bsCount[d]=t.sCount[d]+1+(v?1:0),g.push(t.sCount[d]),t.sCount[d]=m-l,E.push(t.tShift[d]),t.tShift[d]=I-t.bMarks[d]}for(C=t.blkIndent,t.blkIndent=0,(S=t.push("blockquote_open","blockquote",1)).markup=">",S.map=p=[n,0],t.md.block.tokenize(t,n,d),(S=t.push("blockquote_close","blockquote",-1)).markup=">",t.lineMax=q,t.parentType=h,p[1]=t.line,i=0;i=4||42!==(a=t.src.charCodeAt(u++))&&45!==a&&95!==a)return!1;for(s=1;u=4||t.listIndent>=0&&t.sCount[P]-t.listIndent>=4&&t.sCount[P]=t.blkIndent&&(x=!0),(I=Xp(t,P))>=0){if(p=!0,ie=t.bMarks[P]+t.tShift[P],h=Number(t.src.slice(ie,I-1)),x&&1!==h)return!1}else{if(!((I=Kp(t,P))>=0))return!1;p=!1}if(x&&t.skipSpaces(I)>=t.eMarks[P])return!1;if(o)return!0;for(C=t.src.charCodeAt(I-1),b=t.tokens.length,p?(G=t.push("ordered_list_open","ol",1),1!==h&&(G.attrs=[["start",h]])):G=t.push("bullet_list_open","ul",1),G.map=A=[P,0],G.markup=String.fromCharCode(C),Q=!1,O=t.md.block.ruler.getRules("list"),N=t.parentType,t.parentType="list";P=g?1:E-c)>4&&(u=1),l=c+u,(G=t.push("list_item_open","li",1)).markup=String.fromCharCode(C),G.map=d=[P,0],p&&(G.info=t.src.slice(ie,I-1)),R=t.tight,S=t.tShift[P],_=t.sCount[P],v=t.listIndent,t.listIndent=t.blkIndent,t.blkIndent=l,t.tight=!0,t.tShift[P]=s-t.bMarks[P],t.sCount[P]=E,s>=g&&t.isEmpty(P+1)?t.line=Math.min(t.line+2,r):t.md.block.tokenize(t,P,r,!0),(!t.tight||Q)&&(T=!1),Q=t.line-P>1&&t.isEmpty(t.line-1),t.blkIndent=t.listIndent,t.listIndent=v,t.tShift[P]=S,t.sCount[P]=_,t.tight=R,(G=t.push("list_item_close","li",-1)).markup=String.fromCharCode(C),P=t.line,d[1]=P,P>=r||t.sCount[P]=4)break;for(Y=!1,i=0,m=O.length;i=4||91!==t.src.charCodeAt(_))return!1;for(;++_3||t.sCount[R]<0)){for(g=!1,c=0,p=E.length;c"u"&&(t.env.references={}),typeof t.env.references[d]>"u"&&(t.env.references[d]={title:v,href:u}),t.parentType=A,t.line=n+N+1),!0)}],["html_block",function(t,n,r,o){var a,s,i,l,u=t.bMarks[n]+t.tShift[n],c=t.eMarks[n];if(t.sCount[n]-t.blkIndent>=4||!t.md.options.html||60!==t.src.charCodeAt(u))return!1;for(l=t.src.slice(u,c),a=0;a=4||(35!==(a=t.src.charCodeAt(u))||u>=c))return!1;for(s=1,a=t.src.charCodeAt(++u);35===a&&u6||uu&&ef(t.src.charCodeAt(i-1))&&(c=i),t.line=n+1,(l=t.push("heading_open","h"+String(s),1)).markup="########".slice(0,s),l.map=[n,t.line],(l=t.push("inline","",0)).content=t.src.slice(u,c).trim(),l.map=[n,t.line],l.children=[],(l=t.push("heading_close","h"+String(s),-1)).markup="########".slice(0,s)),!0)},["paragraph","reference","blockquote"]],["lheading",function(t,n,r){var o,a,s,i,l,u,c,p,d,A,m=n+1,b=t.md.block.ruler.getRules("paragraph");if(t.sCount[n]-t.blkIndent>=4)return!1;for(A=t.parentType,t.parentType="paragraph";m3)){if(t.sCount[m]>=t.blkIndent&&((u=t.bMarks[m]+t.tShift[m])<(c=t.eMarks[m])&&((45===(d=t.src.charCodeAt(u))||61===d)&&(u=t.skipChars(u,d),(u=t.skipSpaces(u))>=c)))){p=61===d?1:2;break}if(!(t.sCount[m]<0)){for(a=!1,s=0,i=b.length;s3||t.sCount[c]<0)){for(a=!1,s=0,i=p.length;s=n||e.sCount[l]=c){e.line=n;break}for(a=e.line,o=0;o=e.line)throw new Error("block rule didn't increment state.line");break}if(!r)throw new Error("none of the block rules matched");e.tight=!u,e.isEmpty(e.line-1)&&(u=!0),(l=e.line)?@[]^_`{|}~-".split("").forEach((function(e){Eu[e.charCodeAt(0)]=1}));var ys={};function rf(e,t){var n,r,o,a,s,i=[],l=t.length;for(n=0;n=0;n--)(95===(r=t[n]).marker||42===r.marker)&&-1!==r.end&&(o=t[r.end],i=n>0&&t[n-1].end===r.end+1&&t[n-1].marker===r.marker&&t[n-1].token===r.token-1&&t[r.end+1].token===o.token+1,s=String.fromCharCode(r.marker),(a=e.tokens[r.token]).type=i?"strong_open":"em_open",a.tag=i?"strong":"em",a.nesting=1,a.markup=i?s+s:s,a.content="",(a=e.tokens[o.token]).type=i?"strong_close":"em_close",a.tag=i?"strong":"em",a.nesting=-1,a.markup=i?s+s:s,a.content="",i&&(e.tokens[t[n-1].token].content="",e.tokens[t[r.end+1].token].content="",n--))}Ts.tokenize=function(t,n){var r,o,s=t.pos,i=t.src.charCodeAt(s);if(n||95!==i&&42!==i)return!1;for(o=t.scanDelims(t.pos,42===i),r=0;r\x00-\x20]*)$/,tv=bs.HTML_TAG_RE;var af=Tp,sv=ae.has,iv=ae.isValidEntityCode,sf=ae.fromCodePoint,lv=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,uv=/^&([a-z][a-z0-9]{1,31});/i;function lf(e){var t,n,r,o,a,s,i,l,u={},c=e.length;if(c){var p=0,d=-2,m=[];for(t=0;ta;n-=m[n]+1)if((o=e[n]).marker===r.marker&&o.open&&o.end<0&&(i=!1,(o.close||r.open)&&(o.length+r.length)%3==0&&(o.length%3!=0||r.length%3!=0)&&(i=!0),!i)){l=n>0&&!e[n-1].open?m[n-1]+1:0,m[t]=t-n+l,m[n]=l,r.open=!1,o.end=t,o.close=!1,s=-1,d=-2;break}-1!==s&&(u[r.marker][(r.open?3:0)+(r.length||0)%3]=s)}}}var _u=pu,uf=ae.isWhiteSpace,cf=ae.isPunctChar,df=ae.isMdAsciiPunct;function Io(e,t,n,r){this.src=e,this.env=n,this.md=t,this.tokens=r,this.tokens_meta=Array(r.length),this.pos=0,this.posMax=this.src.length,this.level=0,this.pending="",this.pendingLevel=0,this.cache={},this.delimiters=[],this._prev_delimiters=[],this.backticks={},this.backticksScanned=!1,this.linkLevel=0}Io.prototype.pushPending=function(){var e=new _u("text","",0);return e.content=this.pending,e.level=this.pendingLevel,this.tokens.push(e),this.pending="",e},Io.prototype.push=function(e,t,n){this.pending&&this.pushPending();var r=new _u(e,t,n),o=null;return n<0&&(this.level--,this.delimiters=this._prev_delimiters.pop()),r.level=this.level,n>0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],o={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(r),this.tokens_meta.push(o),r},Io.prototype.scanDelims=function(e,t){var r,o,a,s,i,l,u,c,p,n=e,d=!0,m=!0,A=this.posMax,b=this.src.charCodeAt(e);for(r=e>0?this.src.charCodeAt(e-1):32;n0||(r=t.pos,o=t.posMax,r+3>o)||58!==t.src.charCodeAt(r)||47!==t.src.charCodeAt(r+1)||47!==t.src.charCodeAt(r+2)||(a=t.pending.match(H_),!a)||(s=a[1],i=t.md.linkify.matchAtStart(t.src.slice(r-s.length)),!i)||(l=i.url,l.length<=s.length)||(l=l.replace(/\*+$/,""),u=t.md.normalizeLink(l),!t.md.validateLink(u))||(n||(t.pending=t.pending.slice(0,-s.length),(c=t.push("link_open","a",1)).attrs=[["href",u]],c.markup="linkify",c.info="auto",(c=t.push("text","",0)).content=t.md.normalizeLinkText(l),(c=t.push("link_close","a",-1)).markup="linkify",c.info="auto"),t.pos+=l.length-s.length,0))}],["newline",function(t,n){var r,o,a,s=t.pos;if(10!==t.src.charCodeAt(s))return!1;if(r=t.pending.length-1,o=t.posMax,!n)if(r>=0&&32===t.pending.charCodeAt(r))if(r>=1&&32===t.pending.charCodeAt(r-1)){for(a=r-1;a>=1&&32===t.pending.charCodeAt(a-1);)a--;t.pending=t.pending.slice(0,a),t.push("hardbreak","br",0)}else t.pending=t.pending.slice(0,-1),t.push("softbreak","br",0);else t.push("softbreak","br",0);for(s++;s=u)return!1;if(10===(r=t.src.charCodeAt(l))){for(n||t.push("hardbreak","br",0),l++;l=55296&&r<=56319&&l+1=56320&&o<=57343&&(s+=t.src[l+1],l++)),a="\\"+s,n||(i=t.push("text_special","",0),r<256&&0!==Eu[r]?i.content=s:i.content=a,i.markup=a,i.info="escape"),t.pos=l+1,!0}],["backticks",function(t,n){var r,o,a,s,i,l,u,c,p=t.pos;if(96!==t.src.charCodeAt(p))return!1;for(r=p,p++,o=t.posMax;p=b)return!1;if(C=l,(u=t.md.helpers.parseLinkDestination(t.src,l,t.posMax)).ok){for(d=t.md.normalizeLink(u.str),t.md.validateLink(d)?l=u.pos:d="",C=l;l=b||41!==t.src.charCodeAt(l))&&(h=!0),l++}if(h){if(typeof t.env.references>"u")return!1;if(l=0?a=t.src.slice(C,l++):l=s+1):l=s+1,a||(a=t.src.slice(i,s)),!(c=t.env.references[W_(a)]))return t.pos=A,!1;d=c.href,m=c.title}return n||(t.pos=i,t.posMax=s,t.push("link_open","a",1).attrs=r=[["href",d]],m&&r.push(["title",m]),t.linkLevel++,t.md.inline.tokenize(t),t.linkLevel--,t.push("link_close","a",-1)),t.pos=l,t.posMax=b,!0}],["image",function(t,n){var r,o,a,s,i,l,u,c,p,d,m,A,b,C="",h=t.pos,g=t.posMax;if(33!==t.src.charCodeAt(t.pos)||91!==t.src.charCodeAt(t.pos+1)||(l=t.pos+2,(i=t.md.helpers.parseLinkLabel(t,t.pos+1,!1))<0))return!1;if((u=i+1)=g)return!1;for(b=u,(p=t.md.helpers.parseLinkDestination(t.src,u,t.posMax)).ok&&(C=t.md.normalizeLink(p.str),t.md.validateLink(C)?u=p.pos:C=""),b=u;u=g||41!==t.src.charCodeAt(u))return t.pos=h,!1;u++}else{if(typeof t.env.references>"u")return!1;if(u=0?s=t.src.slice(b,u++):u=i+1):u=i+1,s||(s=t.src.slice(l,i)),!(c=t.env.references[K_(s)]))return t.pos=h,!1;C=c.href,d=c.title}return n||(a=t.src.slice(l,i),t.md.inline.parse(a,t.md,t.env,A=[]),(m=t.push("image","img",0)).attrs=r=[["src",C],["alt",""]],m.children=A,m.content=a,d&&r.push(["title",d])),t.pos=u,t.posMax=g,!0}],["autolink",function(t,n){var r,o,a,s,i,l,u=t.pos;if(60!==t.src.charCodeAt(u))return!1;for(i=t.pos,l=t.posMax;;){if(++u>=l||60===(s=t.src.charCodeAt(u)))return!1;if(62===s)break}return r=t.src.slice(i+1,u),J_.test(r)?(o=t.md.normalizeLink(r),!!t.md.validateLink(o)&&(n||((a=t.push("link_open","a",1)).attrs=[["href",o]],a.markup="autolink",a.info="auto",(a=t.push("text","",0)).content=t.md.normalizeLinkText(r),(a=t.push("link_close","a",-1)).markup="autolink",a.info="auto"),t.pos+=r.length+2,!0)):!!Q_.test(r)&&(o=t.md.normalizeLink("mailto:"+r),!!t.md.validateLink(o)&&(n||((a=t.push("link_open","a",1)).attrs=[["href",o]],a.markup="autolink",a.info="auto",(a=t.push("text","",0)).content=t.md.normalizeLinkText(r),(a=t.push("link_close","a",-1)).markup="autolink",a.info="auto"),t.pos+=r.length+2,!0))}],["html_inline",function(t,n){var r,o,a,s,i=t.pos;return!(!t.md.options.html||(a=t.posMax,60!==t.src.charCodeAt(i)||i+2>=a)||(r=t.src.charCodeAt(i+1),33!==r&&63!==r&&47!==r&&!function(e){var t=32|e;return t>=97&&t<=122}(r))||(o=t.src.slice(i).match(tv),!o))&&(n||((s=t.push("html_inline","",0)).content=o[0],function(e){return/^\s]/i.test(e)}(s.content)&&t.linkLevel++,function(e){return/^<\/a\s*>/i.test(e)}(s.content)&&t.linkLevel--),t.pos+=o[0].length,!0)}],["entity",function(t,n){var o,a,s,i=t.pos,l=t.posMax;if(38!==t.src.charCodeAt(i)||i+1>=l)return!1;if(35===t.src.charCodeAt(i+1)){if(a=t.src.slice(i).match(lv))return n||(o="x"===a[1][0].toLowerCase()?parseInt(a[1].slice(1),16):parseInt(a[1],10),(s=t.push("text_special","",0)).content=iv(o)?sf(o):sf(65533),s.markup=a[0],s.info="entity"),t.pos+=a[0].length,!0}else if((a=t.src.slice(i).match(uv))&&sv(af,a[1]))return n||((s=t.push("text_special","",0)).content=af[a[1]],s.markup=a[0],s.info="entity"),t.pos+=a[0].length,!0;return!1}]],Du=[["balance_pairs",function(t){var n,r=t.tokens_meta,o=t.tokens_meta.length;for(lf(t.delimiters),n=0;n0&&o++,"text"===a[n].type&&n+1=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;t||e.pos++,i[r]=e.pos}},Mo.prototype.tokenize=function(e){for(var t,n,r,o=this.ruler.getRules(""),a=o.length,s=e.posMax,i=e.md.options.maxNesting;e.pos=e.pos)throw new Error("inline rule didn't increment state.pos");break}if(t){if(e.pos>=s)break}else e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()},Mo.prototype.parse=function(e,t,n,r){var o,a,s,i=new this.State(e,t,n,r);for(this.tokenize(i),s=(a=this.ruler2.getRules("")).length,o=0;o=3&&":"===e[t-3]||t>=3&&"/"===e[t-3]?0:r.match(n.re.no_http)[0].length:0}},"mailto:":{validate:function(e,t,n){var r=e.slice(t);return n.re.mailto||(n.re.mailto=new RegExp("^"+n.re.src_email_name+"@"+n.re.src_host_strict,"i")),n.re.mailto.test(r)?r.match(n.re.mailto)[0].length:0}}},Dv="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",yv="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function Ns(e){var t=e.re=(ff||(ff=1,yu=function(e){var t={};e=e||{},t.src_Any=kp().source,t.src_Cc=Mp().source,t.src_Z=Pp().source,t.src_P=su.source,t.src_ZPCc=[t.src_Z,t.src_P,t.src_Cc].join("|"),t.src_ZCc=[t.src_Z,t.src_Cc].join("|");var n="[><|]";return t.src_pseudo_letter="(?:(?![><|]|"+t.src_ZPCc+")"+t.src_Any+")",t.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",t.src_auth="(?:(?:(?!"+t.src_ZCc+"|[@/\\[\\]()]).)+@)?",t.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?",t.src_host_terminator="(?=$|[><|]|"+t.src_ZPCc+")(?!"+(e["---"]?"-(?!--)|":"-|")+"_|:\\d|\\.-|\\.(?!$|"+t.src_ZPCc+"))",t.src_path="(?:[/?#](?:(?!"+t.src_ZCc+"|"+n+"|[()[\\]{}.,\"'?!\\-;]).|\\[(?:(?!"+t.src_ZCc+"|\\]).)*\\]|\\((?:(?!"+t.src_ZCc+"|[)]).)*\\)|\\{(?:(?!"+t.src_ZCc+'|[}]).)*\\}|\\"(?:(?!'+t.src_ZCc+'|["]).)+\\"|\\\'(?:(?!'+t.src_ZCc+"|[']).)+\\'|\\'(?="+t.src_pseudo_letter+"|[-])|\\.{2,}[a-zA-Z0-9%/&]|\\.(?!"+t.src_ZCc+"|[.]|$)|"+(e["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+",(?!"+t.src_ZCc+"|$)|;(?!"+t.src_ZCc+"|$)|\\!+(?!"+t.src_ZCc+"|[!]|$)|\\?(?!"+t.src_ZCc+"|[?]|$))+|\\/)?",t.src_email_name='[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*',t.src_xn="xn--[a-z0-9\\-]{1,59}",t.src_domain_root="(?:"+t.src_xn+"|"+t.src_pseudo_letter+"{1,63})",t.src_domain="(?:"+t.src_xn+"|(?:"+t.src_pseudo_letter+")|(?:"+t.src_pseudo_letter+"(?:-|"+t.src_pseudo_letter+"){0,61}"+t.src_pseudo_letter+"))",t.src_host="(?:(?:(?:(?:"+t.src_domain+")\\.)*"+t.src_domain+"))",t.tpl_host_fuzzy="(?:"+t.src_ip4+"|(?:(?:(?:"+t.src_domain+")\\.)+(?:%TLDS%)))",t.tpl_host_no_ip_fuzzy="(?:(?:(?:"+t.src_domain+")\\.)+(?:%TLDS%))",t.src_host_strict=t.src_host+t.src_host_terminator,t.tpl_host_fuzzy_strict=t.tpl_host_fuzzy+t.src_host_terminator,t.src_host_port_strict=t.src_host+t.src_port+t.src_host_terminator,t.tpl_host_port_fuzzy_strict=t.tpl_host_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_port_no_ip_fuzzy_strict=t.tpl_host_no_ip_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_fuzzy_test="localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:"+t.src_ZPCc+"|>|$))",t.tpl_email_fuzzy='(^|[><|]|"|\\(|'+t.src_ZCc+")("+t.src_email_name+"@"+t.tpl_host_fuzzy_strict+")",t.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_fuzzy_strict+t.src_path+")",t.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+")",t}),yu)(e.__opts__),n=e.__tlds__.slice();function r(i){return i.replace("%TLDS%",t.src_tlds)}e.onCompile(),e.__tlds_replaced__||n.push(Dv),n.push(t.src_xn),t.src_tlds=n.join("|"),t.email_fuzzy=RegExp(r(t.tpl_email_fuzzy),"i"),t.link_fuzzy=RegExp(r(t.tpl_link_fuzzy),"i"),t.link_no_ip_fuzzy=RegExp(r(t.tpl_link_no_ip_fuzzy),"i"),t.host_fuzzy_test=RegExp(r(t.tpl_host_fuzzy_test),"i");var o=[];function a(i,l){throw new Error('(LinkifyIt) Invalid schema "'+i+'": '+l)}e.__compiled__={},Object.keys(e.__schemas__).forEach((function(i){var l=e.__schemas__[i];if(null!==l){var u={validate:null,link:null};if(e.__compiled__[i]=u,function(e){return"[object Object]"===Cs(e)}(l))return!function(e){return"[object RegExp]"===Cs(e)}(l.validate)?gf(l.validate)?u.validate=l.validate:a(i,l):u.validate=function(e){return function(t,n){var r=t.slice(n);return e.test(r)?r.match(e)[0].length:0}}(l.validate),void(gf(l.normalize)?u.normalize=l.normalize:l.normalize?a(i,l):u.normalize=function(e,t){t.normalize(e)});if(function(e){return"[object String]"===Cs(e)}(l))return void o.push(i);a(i,l)}})),o.forEach((function(i){e.__compiled__[e.__schemas__[i]]&&(e.__compiled__[i].validate=e.__compiled__[e.__schemas__[i]].validate,e.__compiled__[i].normalize=e.__compiled__[e.__schemas__[i]].normalize)})),e.__compiled__[""]={validate:null,normalize:function(e,t){t.normalize(e)}};var s=Object.keys(e.__compiled__).filter((function(i){return i.length>0&&e.__compiled__[i]})).map(bv).join("|");e.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+s+")","i"),e.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+s+")","ig"),e.re.schema_at_start=RegExp("^"+e.re.schema_search.source,"i"),e.re.pretest=RegExp("("+e.re.schema_test.source+")|("+e.re.host_fuzzy_test.source+")|@","i"),function(e){e.__index__=-1,e.__text_cache__=""}(e)}function Nv(e,t){var n=e.__index__,r=e.__last_index__,o=e.__text_cache__.slice(n,r);this.schema=e.__schema__.toLowerCase(),this.index=n+t,this.lastIndex=r+t,this.raw=o,this.text=o,this.url=o}function Cu(e,t){var n=new Nv(e,t);return e.__compiled__[n.schema].normalize(n,e),n}function ft(e,t){if(!(this instanceof ft))return new ft(e,t);t||function(e){return Object.keys(e||{}).reduce((function(t,n){return t||mf.hasOwnProperty(n)}),!1)}(e)&&(t=e,e={}),this.__opts__=Tu({},mf,t),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=Tu({},vv,e),this.__compiled__={},this.__tlds__=yv,this.__tlds_replaced__=!1,this.re={},Ns(this)}ft.prototype.add=function(t,n){return this.__schemas__[t]=n,Ns(this),this},ft.prototype.set=function(t){return this.__opts__=Tu(this.__opts__,t),this},ft.prototype.test=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return!1;var n,r,o,a,s,i,l,u;if(this.re.schema_test.test(t))for((l=this.re.schema_search).lastIndex=0;null!==(n=l.exec(t));)if(a=this.testSchemaAt(t,n[2],l.lastIndex)){this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+a;break}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&((u=t.search(this.re.host_fuzzy_test))>=0&&(this.__index__<0||u=0&&null!==(o=t.match(this.re.email_fuzzy))&&(s=o.index+o[1].length,i=o.index+o[0].length,(this.__index__<0||sthis.__last_index__)&&(this.__schema__="mailto:",this.__index__=s,this.__last_index__=i))),this.__index__>=0},ft.prototype.pretest=function(t){return this.re.pretest.test(t)},ft.prototype.testSchemaAt=function(t,n,r){return this.__compiled__[n.toLowerCase()]?this.__compiled__[n.toLowerCase()].validate(t,r,this):0},ft.prototype.match=function(t){var n=0,r=[];this.__index__>=0&&this.__text_cache__===t&&(r.push(Cu(this,n)),n=this.__last_index__);for(var o=n?t.slice(n):t;this.test(o);)r.push(Cu(this,n)),o=o.slice(this.__last_index__),n+=this.__last_index__;return r.length?r:null},ft.prototype.matchAtStart=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return null;var n=this.re.schema_at_start.exec(t);if(!n)return null;var r=this.testSchemaAt(t,n[2],n[0].length);return r?(this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+r,Cu(this,0)):null},ft.prototype.tlds=function(t,n){return t=Array.isArray(t)?t:[t],n?(this.__tlds__=this.__tlds__.concat(t).sort().filter((function(r,o,a){return r!==a[o-1]})).reverse(),Ns(this),this):(this.__tlds__=t.slice(),this.__tlds_replaced__=!0,Ns(this),this)},ft.prototype.normalize=function(t){t.schema||(t.url="http://"+t.url),"mailto:"===t.schema&&!/^mailto:/i.test(t.url)&&(t.url="mailto:"+t.url)},ft.prototype.onCompile=function(){};var Sv=ft;const kr=2147483647,Rv=/^xn--/,Lv=/[^\0-\x7F]/,Ov=/[\x2E\u3002\uFF0E\uFF61]/g,kv={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Zt=Math.floor,wu=String.fromCharCode;function Sn(e){throw new RangeError(kv[e])}function _f(e,t){const n=e.split("@");let r="";n.length>1&&(r=n[0]+"@",e=n[1]);const a=function(e,t){const n=[];let r=e.length;for(;r--;)n[r]=t(e[r]);return n}((e=e.replace(Ov,".")).split("."),t).join(".");return r+a}function xu(e){const t=[];let n=0;const r=e.length;for(;n=55296&&o<=56319&&nString.fromCodePoint(...e),Mv=function(e){return e>=48&&e<58?e-48+26:e>=65&&e<91?e-65:e>=97&&e<123?e-97:36},Df=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},yf=function(e,t,n){let r=0;for(e=n?Zt(e/700):e>>1,e+=Zt(e/t);e>455;r+=36)e=Zt(e/35);return Zt(r+36*e/(e+38))},Ru=function(e){const t=[],n=e.length;let r=0,o=128,a=72,s=e.lastIndexOf("-");s<0&&(s=0);for(let i=0;i=128&&Sn("not-basic"),t.push(e.charCodeAt(i));for(let i=s>0?s+1:0;i=n&&Sn("invalid-input");const d=Mv(e.charCodeAt(i++));d>=36&&Sn("invalid-input"),d>Zt((kr-r)/c)&&Sn("overflow"),r+=d*c;const m=p<=a?1:p>=a+26?26:p-a;if(dZt(kr/A)&&Sn("overflow"),c*=A}const u=t.length+1;a=yf(r-l,u,0==l),Zt(r/u)>kr-o&&Sn("overflow"),o+=Zt(r/u),r%=u,t.splice(r++,0,o)}return String.fromCodePoint(...t)},Lu=function(e){const t=[],n=(e=xu(e)).length;let r=128,o=0,a=72;for(const l of e)l<128&&t.push(wu(l));const s=t.length;let i=s;for(s&&t.push("-");i=r&&cZt((kr-o)/u)&&Sn("overflow"),o+=(l-r)*u,r=l;for(const c of e)if(ckr&&Sn("overflow"),c===r){let p=o;for(let d=36;;d+=36){const m=d<=a?1:d>=a+26?26:d-a;if(p=0))try{t.hostname=Nf.toASCII(t.hostname)}catch{}return Zn.encode(Zn.format(t))}function Xv(e){var t=Zn.parse(e,!0);if(t.hostname&&(!t.protocol||Sf.indexOf(t.protocol)>=0))try{t.hostname=Nf.toUnicode(t.hostname)}catch{}return Zn.decode(Zn.format(t),Zn.decode.defaultChars+"%")}function yt(e,t){if(!(this instanceof yt))return new yt(e,t);t||Bo.isString(e)||(t=e||{},e="default"),this.inline=new Gv,this.block=new zv,this.core=new Vv,this.renderer=new Hv,this.linkify=new $v,this.validateLink=Yv,this.normalizeLink=Kv,this.normalizeLinkText=Xv,this.utils=Bo,this.helpers=Bo.assign({},qv),this.options={},this.configure(e),t&&this.set(t)}yt.prototype.set=function(e){return Bo.assign(this.options,e),this},yt.prototype.configure=function(e){var n,t=this;if(Bo.isString(e)&&!(e=Zv[n=e]))throw new Error('Wrong `markdown-it` preset "'+n+'", check name');if(!e)throw new Error("Wrong `markdown-it` preset, can't be empty");return e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach((function(r){e.components[r].rules&&t[r].ruler.enableOnly(e.components[r].rules),e.components[r].rules2&&t[r].ruler2.enableOnly(e.components[r].rules2)})),this},yt.prototype.enable=function(e,t){var n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach((function(o){n=n.concat(this[o].ruler.enable(e,!0))}),this),n=n.concat(this.inline.ruler2.enable(e,!0));var r=e.filter((function(o){return n.indexOf(o)<0}));if(r.length&&!t)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+r);return this},yt.prototype.disable=function(e,t){var n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach((function(o){n=n.concat(this[o].ruler.disable(e,!0))}),this),n=n.concat(this.inline.ruler2.disable(e,!0));var r=e.filter((function(o){return n.indexOf(o)<0}));if(r.length&&!t)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+r);return this},yt.prototype.use=function(e){var t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this},yt.prototype.parse=function(e,t){if("string"!=typeof e)throw new Error("Input data should be a String");var n=new this.core.State(e,this,t);return this.core.process(n),n.tokens},yt.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)},yt.prototype.parseInline=function(e,t){var n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens},yt.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)};const eD=jo(yt);function wf(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((t=>{const n=e[t],r=typeof n;("object"===r||"function"===r)&&!Object.isFrozen(n)&&wf(n)})),e}class xf{constructor(t){void 0===t.data&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function Rf(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function wn(e,...t){const n=Object.create(null);for(const r in e)n[r]=e[r];return t.forEach((function(r){for(const o in r)n[o]=r[o]})),n}const Lf=e=>!!e.scope;class rD{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=Rf(t)}openNode(t){if(!Lf(t))return;const n=((e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map(((r,o)=>`${r}${"_".repeat(o+1)}`))].join(" ")}return`${t}${e}`})(t.scope,{prefix:this.classPrefix});this.span(n)}closeNode(t){Lf(t)&&(this.buffer+="")}value(){return this.buffer}span(t){this.buffer+=``}}const Of=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class Ou{constructor(){this.rootNode=Of(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const n=Of({scope:t});this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,n){return"string"==typeof n?t.addText(n):n.children&&(t.openNode(n),n.children.forEach((r=>this._walk(t,r))),t.closeNode(n)),t}static _collapse(t){"string"!=typeof t&&t.children&&(t.children.every((n=>"string"==typeof n))?t.children=[t.children.join("")]:t.children.forEach((n=>{Ou._collapse(n)})))}}class oD extends Ou{constructor(t){super(),this.options=t}addText(t){""!==t&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,n){const r=t.root;n&&(r.scope=`language:${n}`),this.add(r)}toHTML(){return new rD(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function Po(e){return e?"string"==typeof e?e:e.source:null}function kf(e){return jn("(?=",e,")")}function aD(e){return jn("(?:",e,")*")}function sD(e){return jn("(?:",e,")?")}function jn(...e){return e.map((n=>Po(n))).join("")}function ku(...e){return"("+(function(e){const t=e[e.length-1];return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}(e).capture?"":"?:")+e.map((r=>Po(r))).join("|")+")"}function If(e){return new RegExp(e.toString()+"|").exec("").length-1}const uD=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Iu(e,{joinWith:t}){let n=0;return e.map((r=>{n+=1;const o=n;let a=Po(r),s="";for(;a.length>0;){const i=uD.exec(a);if(!i){s+=a;break}s+=a.substring(0,i.index),a=a.substring(i.index+i[0].length),"\\"===i[0][0]&&i[1]?s+="\\"+String(Number(i[1])+o):(s+=i[0],"("===i[0]&&n++)}return s})).map((r=>`(${r})`)).join(t)}const Mf="[a-zA-Z]\\w*",Mu="[a-zA-Z_]\\w*",Ff="\\b\\d+(\\.\\d+)?",Bf="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Pf="\\b(0b[01]+)",Uo={begin:"\\\\[\\s\\S]",relevance:0},fD={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Uo]},gD={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Uo]},Ss=function(e,t,n={}){const r=wn({scope:"comment",begin:e,end:t,contains:[]},n);r.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const o=ku("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:jn(/[ ]+/,"(",o,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),r},hD=Ss("//","$"),ED=Ss("/\\*","\\*/"),AD=Ss("#","$"),bD={scope:"number",begin:Ff,relevance:0},_D={scope:"number",begin:Bf,relevance:0},vD={scope:"number",begin:Pf,relevance:0},DD={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Uo,{begin:/\[/,end:/\]/,relevance:0,contains:[Uo]}]},yD={scope:"title",begin:Mf,relevance:0},TD={scope:"title",begin:Mu,relevance:0},CD={begin:"\\.\\s*"+Mu,relevance:0};var ws=Object.freeze({__proto__:null,APOS_STRING_MODE:fD,BACKSLASH_ESCAPE:Uo,BINARY_NUMBER_MODE:vD,BINARY_NUMBER_RE:Pf,COMMENT:Ss,C_BLOCK_COMMENT_MODE:ED,C_LINE_COMMENT_MODE:hD,C_NUMBER_MODE:_D,C_NUMBER_RE:Bf,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(t,n)=>{n.data._beginMatch=t[1]},"on:end":(t,n)=>{n.data._beginMatch!==t[1]&&n.ignoreMatch()}})},HASH_COMMENT_MODE:AD,IDENT_RE:Mf,MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:CD,NUMBER_MODE:bD,NUMBER_RE:Ff,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},QUOTE_STRING_MODE:gD,REGEXP_MODE:DD,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=jn(t,/.*\b/,e.binary,/\b.*/)),wn({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,r)=>{0!==n.index&&r.ignoreMatch()}},e)},TITLE_MODE:yD,UNDERSCORE_IDENT_RE:Mu,UNDERSCORE_TITLE_MODE:TD});function ND(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function SD(e,t){void 0!==e.className&&(e.scope=e.className,delete e.className)}function wD(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=ND,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function xD(e,t){Array.isArray(e.illegal)&&(e.illegal=ku(...e.illegal))}function RD(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function LD(e,t){void 0===e.relevance&&(e.relevance=1)}const OD=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const n=Object.assign({},e);Object.keys(e).forEach((r=>{delete e[r]})),e.keywords=n.keywords,e.begin=jn(n.beforeMatch,kf(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},kD=["of","and","for","in","not","or","if","then","parent","list","value"],ID="keyword";function Uf(e,t,n=ID){const r=Object.create(null);return"string"==typeof e?o(n,e.split(" ")):Array.isArray(e)?o(n,e):Object.keys(e).forEach((function(a){Object.assign(r,Uf(e[a],t,a))})),r;function o(a,s){t&&(s=s.map((i=>i.toLowerCase()))),s.forEach((function(i){const l=i.split("|");r[l[0]]=[a,MD(l[0],l[1])]}))}}function MD(e,t){return t?Number(t):function(e){return kD.includes(e.toLowerCase())}(e)?0:1}const qf={},Wn=e=>{console.error(e)},Hf=(e,...t)=>{console.log(`WARN: ${e}`,...t)},Ir=(e,t)=>{qf[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),qf[`${e}/${t}`]=!0)},xs=new Error;function Vf(e,t,{key:n}){let r=0;const o=e[n],a={},s={};for(let i=1;i<=t.length;i++)s[i+r]=o[i],a[i+r]=!0,r+=If(t[i-1]);e[n]=s,e[n]._emit=a,e[n]._multi=!0}function qD(e){(function(e){e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope}),function(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Wn("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),xs;if("object"!=typeof e.beginScope||null===e.beginScope)throw Wn("beginScope must be object"),xs;Vf(e,e.begin,{key:"beginScope"}),e.begin=Iu(e.begin,{joinWith:""})}}(e),function(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Wn("skip, excludeEnd, returnEnd not compatible with endScope: {}"),xs;if("object"!=typeof e.endScope||null===e.endScope)throw Wn("endScope must be object"),xs;Vf(e,e.end,{key:"endScope"}),e.end=Iu(e.end,{joinWith:""})}}(e)}function HD(e){function t(s,i){return new RegExp(Po(s),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(i?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(i,l){l.position=this.position++,this.matchIndexes[this.matchAt]=l,this.regexes.push([l,i]),this.matchAt+=If(i)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const i=this.regexes.map((l=>l[1]));this.matcherRe=t(Iu(i,{joinWith:"|"}),!0),this.lastIndex=0}exec(i){this.matcherRe.lastIndex=this.lastIndex;const l=this.matcherRe.exec(i);if(!l)return null;const u=l.findIndex(((p,d)=>d>0&&void 0!==p)),c=this.matchIndexes[u];return l.splice(0,u),Object.assign(l,c)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(i){if(this.multiRegexes[i])return this.multiRegexes[i];const l=new n;return this.rules.slice(i).forEach((([u,c])=>l.addRule(u,c))),l.compile(),this.multiRegexes[i]=l,l}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(i,l){this.rules.push([i,l]),"begin"===l.type&&this.count++}exec(i){const l=this.getMatcher(this.regexIndex);l.lastIndex=this.lastIndex;let u=l.exec(i);if(this.resumingScanAtSamePosition()&&(!u||u.index!==this.lastIndex)){const c=this.getMatcher(0);c.lastIndex=this.lastIndex+1,u=c.exec(i)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=wn(e.classNameAliases||{}),function a(s,i){const l=s;if(s.isCompiled)return l;[SD,RD,qD,OD].forEach((c=>c(s,i))),e.compilerExtensions.forEach((c=>c(s,i))),s.__beforeBegin=null,[wD,xD,LD].forEach((c=>c(s,i))),s.isCompiled=!0;let u=null;return"object"==typeof s.keywords&&s.keywords.$pattern&&(s.keywords=Object.assign({},s.keywords),u=s.keywords.$pattern,delete s.keywords.$pattern),u=u||/\w+/,s.keywords&&(s.keywords=Uf(s.keywords,e.case_insensitive)),l.keywordPatternRe=t(u,!0),i&&(s.begin||(s.begin=/\B|\b/),l.beginRe=t(l.begin),!s.end&&!s.endsWithParent&&(s.end=/\B|\b/),s.end&&(l.endRe=t(l.end)),l.terminatorEnd=Po(l.end)||"",s.endsWithParent&&i.terminatorEnd&&(l.terminatorEnd+=(s.end?"|":"")+i.terminatorEnd)),s.illegal&&(l.illegalRe=t(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(c){return function(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((function(t){return wn(e,{variants:null},t)}))),e.cachedVariants?e.cachedVariants:zf(e)?wn(e,{starts:e.starts?wn(e.starts):null}):Object.isFrozen(e)?wn(e):e}("self"===c?s:c)}))),s.contains.forEach((function(c){a(c,l)})),s.starts&&a(s.starts,i),l.matcher=function(s){const i=new r;return s.contains.forEach((l=>i.addRule(l.begin,{rule:l,type:"begin"}))),s.terminatorEnd&&i.addRule(s.terminatorEnd,{type:"end"}),s.illegal&&i.addRule(s.illegal,{type:"illegal"}),i}(l),l}(e)}function zf(e){return!!e&&(e.endsWithParent||zf(e.starts))}class GD extends Error{constructor(t,n){super(t),this.name="HTMLInjectionError",this.html=n}}const Fu=Rf,Gf=wn,$f=Symbol("nomatch"),Zf=function(e){const t=Object.create(null),n=Object.create(null),r=[];let o=!0;const a="Could not find the language '{}', did you forget to load/include a language module?",s={disableAutodetect:!0,name:"Plain text",contains:[]};let i={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:oD};function l(x){return i.noHighlightRe.test(x)}function c(x,T,y){let L="",k="";"object"==typeof T?(L=x,y=T.ignoreIllegals,k=T.language):(Ir("10.7.0","highlight(lang, code, ...args) has been deprecated."),Ir("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),k=x,L=T),void 0===y&&(y=!0);const H={code:L,language:k};G("before:highlight",H);const j=H.result?H.result:p(H.language,H.code,y);return j.code=H.code,G("after:highlight",j),j}function p(x,T,y,L){const k=Object.create(null);function H(B,V){return B.keywords[V]}function j(){if(!W.keywords)return void De.addText(oe);let B=0;W.keywordPatternRe.lastIndex=0;let V=W.keywordPatternRe.exec(oe),K="";for(;V;){K+=oe.substring(B,V.index);const ne=Ce.case_insensitive?V[0].toLowerCase():V[0],ge=H(W,ne);if(ge){const[$e,zo]=ge;if(De.addText(K),K="",k[ne]=(k[ne]||0)+1,k[ne]<=7&&(Bt+=zo),$e.startsWith("_"))K+=V[0];else{const Go=Ce.classNameAliases[$e]||$e;se(V[0],Go)}}else K+=V[0];B=W.keywordPatternRe.lastIndex,V=W.keywordPatternRe.exec(oe)}K+=oe.substring(B),De.addText(K)}function ce(){null!=W.subLanguage?function(){if(""===oe)return;let B=null;if("string"==typeof W.subLanguage){if(!t[W.subLanguage])return void De.addText(oe);B=p(W.subLanguage,oe,!0,Ur[W.subLanguage]),Ur[W.subLanguage]=B._top}else B=m(oe,W.subLanguage.length?W.subLanguage:null);W.relevance>0&&(Bt+=B.relevance),De.__addSublanguage(B._emitter,B.language)}():j(),oe=""}function se(B,V){""!==B&&(De.startScope(V),De.addText(B),De.endScope())}function le(B,V){let K=1;const ne=V.length-1;for(;K<=ne;){if(!B._emit[K]){K++;continue}const ge=Ce.classNameAliases[B[K]]||B[K],$e=V[K];ge?se($e,ge):(oe=$e,j(),oe=""),K++}}function mt(B,V){return B.scope&&"string"==typeof B.scope&&De.openNode(Ce.classNameAliases[B.scope]||B.scope),B.beginScope&&(B.beginScope._wrap?(se(oe,Ce.classNameAliases[B.beginScope._wrap]||B.beginScope._wrap),oe=""):B.beginScope._multi&&(le(B.beginScope,V),oe="")),W=Object.create(B,{parent:{value:W}}),W}function Ft(B,V,K){let ne=function(e,t){const n=e&&e.exec(t);return n&&0===n.index}(B.endRe,K);if(ne){if(B["on:end"]){const ge=new xf(B);B["on:end"](V,ge),ge.isMatchIgnored&&(ne=!1)}if(ne){for(;B.endsParent&&B.parent;)B=B.parent;return B}}if(B.endsWithParent)return Ft(B.parent,V,K)}function ht(B){return 0===W.matcher.regexIndex?(oe+=B[0],1):(Hr=!0,0)}function Ct(B){const V=B[0],K=T.substring(B.index),ne=Ft(W,B,K);if(!ne)return $f;const ge=W;W.endScope&&W.endScope._wrap?(ce(),se(V,W.endScope._wrap)):W.endScope&&W.endScope._multi?(ce(),le(W.endScope,B)):ge.skip?oe+=V:(ge.returnEnd||ge.excludeEnd||(oe+=V),ce(),ge.excludeEnd&&(oe=V));do{W.scope&&De.closeNode(),!W.skip&&!W.subLanguage&&(Bt+=W.relevance),W=W.parent}while(W!==ne.parent);return ne.starts&&mt(ne.starts,B),ge.returnEnd?0:V.length}let Re={};function ke(B,V){const K=V&&V[0];if(oe+=B,null==K)return ce(),0;if("begin"===Re.type&&"end"===V.type&&Re.index===V.index&&""===K){if(oe+=T.slice(V.index,V.index+1),!o){const ne=new Error(`0 width match regex (${x})`);throw ne.languageName=x,ne.badRule=Re.rule,ne}return 1}if(Re=V,"begin"===V.type)return function(B){const V=B[0],K=B.rule,ne=new xf(K),ge=[K.__beforeBegin,K["on:begin"]];for(const $e of ge)if($e&&($e(B,ne),ne.isMatchIgnored))return ht(V);return K.skip?oe+=V:(K.excludeBegin&&(oe+=V),ce(),!K.returnBegin&&!K.excludeBegin&&(oe=V)),mt(K,B),K.returnBegin?0:V.length}(V);if("illegal"===V.type&&!y){const ne=new Error('Illegal lexeme "'+K+'" for mode "'+(W.scope||"")+'"');throw ne.mode=W,ne}if("end"===V.type){const ne=Ct(V);if(ne!==$f)return ne}if("illegal"===V.type&&""===K)return 1;if(qr>1e5&&qr>3*V.index)throw new Error("potential infinite loop, way more iterations than matches");return oe+=K,K.length}const Ce=q(x);if(!Ce)throw Wn(a.replace("{}",x)),new Error('Unknown language: "'+x+'"');const Hs=HD(Ce);let Pr="",W=L||Hs;const Ur={},De=new i.__emitter(i);!function(){const B=[];for(let V=W;V!==Ce;V=V.parent)V.scope&&B.unshift(V.scope);B.forEach((V=>De.openNode(V)))}();let oe="",Bt=0,jt=0,qr=0,Hr=!1;try{if(Ce.__emitTokens)Ce.__emitTokens(T,De);else{for(W.matcher.considerAll();;){qr++,Hr?Hr=!1:W.matcher.considerAll(),W.matcher.lastIndex=jt;const B=W.matcher.exec(T);if(!B)break;const K=ke(T.substring(jt,B.index),B);jt=B.index+K}ke(T.substring(jt))}return De.finalize(),Pr=De.toHTML(),{language:x,value:Pr,relevance:Bt,illegal:!1,_emitter:De,_top:W}}catch(B){if(B.message&&B.message.includes("Illegal"))return{language:x,value:Fu(T),illegal:!0,relevance:0,_illegalBy:{message:B.message,index:jt,context:T.slice(jt-100,jt+100),mode:B.mode,resultSoFar:Pr},_emitter:De};if(o)return{language:x,value:Fu(T),illegal:!1,relevance:0,errorRaised:B,_emitter:De,_top:W};throw B}}function m(x,T){T=T||i.languages||Object.keys(t);const y=function(x){const T={value:Fu(x),illegal:!1,relevance:0,_top:s,_emitter:new i.__emitter(i)};return T._emitter.addText(x),T}(x),L=T.filter(q).filter(Q).map((ce=>p(ce,x,!1)));L.unshift(y);const k=L.sort(((ce,se)=>{if(ce.relevance!==se.relevance)return se.relevance-ce.relevance;if(ce.language&&se.language){if(q(ce.language).supersetOf===se.language)return 1;if(q(se.language).supersetOf===ce.language)return-1}return 0})),[H,j]=k,fe=H;return fe.secondBest=j,fe}function b(x){let T=null;const y=function(x){let T=x.className+" ";T+=x.parentNode?x.parentNode.className:"";const y=i.languageDetectRe.exec(T);if(y){const L=q(y[1]);return L||(Hf(a.replace("{}",y[1])),Hf("Falling back to no-highlight mode for this block.",x)),L?y[1]:"no-highlight"}return T.split(/\s+/).find((L=>l(L)||q(L)))}(x);if(l(y))return;if(G("before:highlightElement",{el:x,language:y}),x.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",x);if(x.children.length>0&&(i.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(x)),i.throwUnescapedHTML))throw new GD("One of your code blocks includes unescaped HTML.",x.innerHTML);T=x;const L=T.textContent,k=y?c(L,{language:y,ignoreIllegals:!0}):m(L);x.innerHTML=k.value,x.dataset.highlighted="yes",function(x,T,y){const L=T&&n[T]||y;x.classList.add("hljs"),x.classList.add(`language-${L}`)}(x,y,k.language),x.result={language:k.language,re:k.relevance,relevance:k.relevance},k.secondBest&&(x.secondBest={language:k.secondBest.language,relevance:k.secondBest.relevance}),G("after:highlightElement",{el:x,result:k,text:L})}let E=!1;function v(){"loading"!==document.readyState?document.querySelectorAll(i.cssSelector).forEach(b):E=!0}function q(x){return x=(x||"").toLowerCase(),t[x]||t[n[x]]}function I(x,{languageName:T}){"string"==typeof x&&(x=[x]),x.forEach((y=>{n[y.toLowerCase()]=T}))}function Q(x){const T=q(x);return T&&!T.disableAutodetect}function G(x,T){const y=x;r.forEach((function(L){L[y]&&L[y](T)}))}typeof window<"u"&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){E&&v()}),!1),Object.assign(e,{highlight:c,highlightAuto:m,highlightAll:v,highlightElement:b,highlightBlock:function(x){return Ir("10.7.0","highlightBlock will be removed entirely in v12.0"),Ir("10.7.0","Please use highlightElement now."),b(x)},configure:function(x){i=Gf(i,x)},initHighlighting:()=>{v(),Ir("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){v(),Ir("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(x,T){let y=null;try{y=T(e)}catch(L){if(Wn("Language definition for '{}' could not be registered.".replace("{}",x)),!o)throw L;Wn(L),y=s}y.name||(y.name=x),t[x]=y,y.rawDefinition=T.bind(null,e),y.aliases&&I(y.aliases,{languageName:x})},unregisterLanguage:function(x){delete t[x];for(const T of Object.keys(n))n[T]===x&&delete n[T]},listLanguages:function(){return Object.keys(t)},getLanguage:q,registerAliases:I,autoDetection:Q,inherit:Gf,addPlugin:function(x){(function(x){x["before:highlightBlock"]&&!x["before:highlightElement"]&&(x["before:highlightElement"]=T=>{x["before:highlightBlock"](Object.assign({block:T.el},T))}),x["after:highlightBlock"]&&!x["after:highlightElement"]&&(x["after:highlightElement"]=T=>{x["after:highlightBlock"](Object.assign({block:T.el},T))})})(x),r.push(x)},removePlugin:function(x){const T=r.indexOf(x);-1!==T&&r.splice(T,1)}}),e.debugMode=function(){o=!1},e.safeMode=function(){o=!0},e.versionString="11.9.0",e.regex={concat:jn,lookahead:kf,either:ku,optional:sD,anyNumberOfTimes:aD};for(const x in ws)"object"==typeof ws[x]&&wf(ws[x]);return Object.assign(e,ws),e},Mr=Zf({});Mr.newInstance=()=>Zf({});var ZD=Mr;Mr.HighlightJS=Mr,Mr.default=Mr;const X=jo(ZD);const JD=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],ey=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],ty=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],ny=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],ry=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();var Fr="[0-9](_*[0-9])*",Rs=`\\.(${Fr})`,Ls="[0-9a-fA-F](_*[0-9a-fA-F])*",jf={className:"number",variants:[{begin:`(\\b(${Fr})((${Rs})|\\.)?|(${Rs}))[eE][+-]?(${Fr})[fFdD]?\\b`},{begin:`\\b(${Fr})((${Rs})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Rs})[fFdD]?\\b`},{begin:`\\b(${Fr})[fFdD]\\b`},{begin:`\\b0[xX]((${Ls})\\.?|(${Ls})?\\.(${Ls}))[pP][+-]?(${Fr})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${Ls})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Wf(e,t,n){return-1===n?"":e.replace(t,(r=>Wf(e,t,n-1)))}const Yf="[A-Za-z$_][0-9A-Za-z$_]*",cy=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],dy=["true","false","null","undefined","NaN","Infinity"],Kf=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Xf=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Qf=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],py=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],fy=[].concat(Qf,Kf,Xf);var Br="[0-9](_*[0-9])*",Os=`\\.(${Br})`,ks="[0-9a-fA-F](_*[0-9a-fA-F])*",hy={className:"number",variants:[{begin:`(\\b(${Br})((${Os})|\\.)?|(${Os}))[eE][+-]?(${Br})[fFdD]?\\b`},{begin:`\\b(${Br})((${Os})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Os})[fFdD]?\\b`},{begin:`\\b(${Br})[fFdD]\\b`},{begin:`\\b0[xX]((${ks})\\.?|(${ks})?\\.(${ks}))[pP][+-]?(${Br})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${ks})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};const by=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],_y=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],Jf=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],e1=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],vy=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse(),Dy=Jf.concat(e1);const qy=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Hy=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],Vy=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],zy=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],Gy=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function t1(e){return e?"string"==typeof e?e:e.source:null}function Is(e){return de("(?=",e,")")}function de(...e){return e.map((n=>t1(n))).join("")}function ot(...e){return"("+(function(e){const t=e[e.length-1];return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}(e).capture?"":"?:")+e.map((r=>t1(r))).join("|")+")"}const Bu=e=>de(/\b/,e,/\w$/.test(e)?/\b/:/\B/),Yy=["Protocol","Type"].map(Bu),n1=["init","self"].map(Bu),Ky=["Any","Self"],Pu=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],r1=["false","nil","true"],Xy=["assignment","associativity","higherThan","left","lowerThan","none","right"],Qy=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],o1=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],a1=ot(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),s1=ot(a1,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),Uu=de(a1,s1,"*"),i1=ot(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),Ms=ot(i1,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),on=de(i1,Ms,"*"),qu=de(/[A-Z]/,Ms,"*"),Jy=["attached","autoclosure",de(/convention\(/,ot("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",de(/objc\(/,on,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],e3=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];const Fs="[A-Za-z$_][0-9A-Za-z$_]*",l1=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],u1=["true","false","null","undefined","NaN","Infinity"],c1=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],d1=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],p1=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],f1=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],g1=[].concat(p1,c1,d1);X.registerLanguage("apache",(function(e){const r={className:"number",begin:/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?/};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:/<\/?/,end:/>/,contains:[r,{className:"number",begin:/:\d{1,5}/},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{_:["order","deny","allow","setenv","rewriterule","rewriteengine","rewritecond","documentroot","sethandler","errordocument","loadmodule","options","header","listen","serverroot","servername"]},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{className:"meta",begin:/\s\[/,end:/\]$/},{className:"variable",begin:/[\$%]\{/,end:/\}/,contains:["self",{className:"number",begin:/[$%]\d+/}]},r,{className:"number",begin:/\b\d+/},e.QUOTE_STRING_MODE]}}],illegal:/\S/}})),X.registerLanguage("bash",(function(e){const t=e.regex,n={},r={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},r]});const o={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},a={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},s={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,o]};o.contains.push(s);const c={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},d=e.SHEBANG({binary:`(${["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"].join("|")})`,relevance:10}),m={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:["if","then","else","elif","fi","for","while","until","in","do","done","case","esac","function","select"],literal:["true","false"],built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"]},contains:[d,e.SHEBANG(),m,c,e.HASH_COMMENT_MODE,a,{match:/(\/[a-z._-]+)+/},s,{match:/\\"/},{className:"string",begin:/'/,end:/'/},{match:/\\'/},n]}})),X.registerLanguage("c",(function(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",s="("+r+"|"+t.optional(o)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",i={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},c={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},p={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:t.optional(o)+e.IDENT_RE,relevance:0},m=t.optional(o)+e.IDENT_RE+"\\s*\\(",C={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},h=[p,i,n,e.C_BLOCK_COMMENT_MODE,c,u],g={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:C,contains:h.concat([{begin:/\(/,end:/\)/,keywords:C,contains:h.concat(["self"]),relevance:0}]),relevance:0},E={begin:"("+s+"[\\*&\\s]+)+"+m,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:C,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:C,relevance:0},{begin:m,returnBegin:!0,contains:[e.inherit(d,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:C,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,c,i,{begin:/\(/,end:/\)/,keywords:C,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,c,i]}]},i,n,e.C_BLOCK_COMMENT_MODE,p]};return{name:"C",aliases:["h"],keywords:C,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:p,strings:u,keywords:C}}})),X.registerLanguage("cpp",(function(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",s="(?!struct)("+r+"|"+t.optional(o)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",i={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},c={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},p={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:t.optional(o)+e.IDENT_RE,relevance:0},m=t.optional(o)+e.IDENT_RE+"\\s*\\(",v={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},N={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},_=[N,p,i,n,e.C_BLOCK_COMMENT_MODE,c,u],S={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:v,contains:_.concat([{begin:/\(/,end:/\)/,keywords:v,contains:_.concat(["self"]),relevance:0}]),relevance:0},R={className:"function",begin:"("+s+"[\\*&\\s]+)+"+m,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:v,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:v,relevance:0},{begin:m,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,c]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,c,i,{begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,c,i]}]},i,n,e.C_BLOCK_COMMENT_MODE,p]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:v,illegal:"",keywords:v,contains:["self",i]},{begin:e.IDENT_RE+"::",keywords:v},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}})),X.registerLanguage("csharp",(function(e){const s={keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]),built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],literal:["default","false","null","true"]},i=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),l={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},u={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},c=e.inherit(u,{illegal:/\n/}),p={className:"subst",begin:/\{/,end:/\}/,keywords:s},d=e.inherit(p,{illegal:/\n/}),m={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,d]},A={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]},b=e.inherit(A,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},d]});p.contains=[A,m,u,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,l,e.C_BLOCK_COMMENT_MODE],d.contains=[b,m,c,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,l,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const C={variants:[A,m,u,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},h={begin:"<",end:">",contains:[{beginKeywords:"in out"},i]},g=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",E={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:s,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},C,l,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},i,h,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[i,h,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+g+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:s,contains:[{beginKeywords:["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"].join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,h],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,relevance:0,contains:[C,l,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},E]}})),X.registerLanguage("css",(function(e){const t=e.regex,n=(e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}))(e),i=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+ty.join("|")+")"},{begin:":(:)?("+ny.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+ry.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...i,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...i,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:ey.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...i,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+JD.join("|")+")\\b"}]}})),X.registerLanguage("diff",(function(e){const t=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}})),X.registerLanguage("go",(function(e){const a={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:a,illegal:")?",/~~~/g,2),l={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},u={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},c={className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:l,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[t.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword",3:"title.class"},contains:[c,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+r+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:l,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[u,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,jf,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},jf,u]}})),X.registerLanguage("javascript",(function(e){const t=e.regex,r=Yf,o_begin="<>",o_end="",s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(T,y)=>{const L=T[0].length+T.index,k=T.input[L];if("<"===k||","===k)return void y.ignoreMatch();let H;">"===k&&(((T,{after:y})=>{const L="",x={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(P)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[_]};var T;return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{PARAMS_CONTAINS:N,CLASS_REFERENCE:R},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,m,A,b,C,g,{match:/\$\d+/},p,R,{className:"attr",begin:r+t.lookahead(":"),relevance:0},x,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[g,e.REGEXP_MODE,{className:"function",begin:P,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:N}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:o_begin,end:o_end},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},I,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[_,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},O,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[_]},Y,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},S,G,{match:/\$[(.]/}]}})),X.registerLanguage("json",(function(e){const r=["true","false","null"],o={scope:"literal",beginKeywords:r.join(" ")};return{name:"JSON",keywords:{literal:r},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},e.QUOTE_STRING_MODE,o,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}})),X.registerLanguage("kotlin",(function(e){const t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},r={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},o={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},a={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},s={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[a,o]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,a,o]}]};o.contains.push(s);const i={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(s,{className:"string"}),"self"]}]},u=hy,c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),p={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},d=p;return d.variants[1].contains=[p],p.variants[1].contains=[d],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},r,i,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[p,e.C_LINE_COMMENT_MODE,c],relevance:0},e.C_LINE_COMMENT_MODE,c,i,l,s,e.C_NUMBER_MODE]},c]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},i,l]},s,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},u]}})),X.registerLanguage("less",(function(e){const t=(e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}))(e),n=Dy,o="[\\w-]+",a="("+o+"|@\\{"+o+"\\})",s=[],i=[],l=function(E){return{className:"string",begin:"~?"+E+".*?"+E}},u=function(E,v,N){return{className:E,begin:v,relevance:N}},c={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:_y.join(" ")},p={begin:"\\(",end:"\\)",contains:i,keywords:c,relevance:0};i.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l("'"),l('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.HEXCOLOR,p,u("variable","@@?"+o,10),u("variable","@\\{"+o+"\\}"),u("built_in","~?`[^`]*?`"),{className:"attribute",begin:o+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);const d=i.concat({begin:/\{/,end:/\}/,contains:s}),m={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(i)},A={begin:a+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+vy.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:i}}]},b={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:c,returnEnd:!0,contains:i,relevance:0}},C={className:"variable",variants:[{begin:"@"+o+"\\s*:",relevance:15},{begin:"@"+o}],starts:{end:"[;}]",returnEnd:!0,contains:d}},h={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:a,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,m,u("keyword","all\\b"),u("variable","@\\{"+o+"\\}"),{begin:"\\b("+by.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,u("selector-tag",a,0),u("selector-id","#"+a),u("selector-class","\\."+a,0),u("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+Jf.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+e1.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:d},{begin:"!important"},t.FUNCTION_DISPATCH]},g={begin:o+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[h]};return s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,b,C,g,A,h,m,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:s}})),X.registerLanguage("lua",(function(e){const t="\\[=*\\[",n="\\]=*\\]",r={begin:t,end:n,contains:["self"]},o=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[r],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:o.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:o}].concat(o)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[r],relevance:5}])}})),X.registerLanguage("makefile",(function(e){const t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%",subLanguage:"xml",relevance:0},l={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},u={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},c={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},p=e.inherit(u,{contains:[]}),d=e.inherit(c,{contains:[]});u.contains.push(d),c.contains.push(p);let m=[n,l];return[u,c,p,d].forEach((C=>{C.contains=C.contains.concat(m)})),m=m.concat(u,c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:m},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:m}]}]},n,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},u,c,{className:"quote",begin:"^>\\s+",contains:m,end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},l,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}})),X.registerLanguage("nginx",(function(e){const t=e.regex,n={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{\w+\}/},{begin:t.concat(/[$@]/,e.UNDERSCORE_IDENT_RE)}]},o={endsWithParent:!0,keywords:{$pattern:/[a-z_]{2,}|\/dev\/poll/,literal:["on","off","yes","no","true","false","none","blocked","debug","info","notice","warn","error","crit","select","break","last","permanent","redirect","kqueue","rtsig","epoll","poll","/dev/poll"]},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^",end:"\\s|\\{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|\\{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]?\\b",relevance:0},n]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{beginKeywords:"upstream location",end:/;|\{/,contains:o.contains,keywords:{section:"upstream location"}},{className:"section",begin:t.concat(e.UNDERSCORE_IDENT_RE+t.lookahead(/\s+\{/)),relevance:0},{begin:t.lookahead(e.UNDERSCORE_IDENT_RE+"\\s"),end:";|\\{",contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:o}],relevance:0}],illegal:"[^\\s\\}\\{]"}})),X.registerLanguage("objectivec",(function(e){const n=/[a-zA-Z@][a-zA-Z0-9_]*/,l={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:{"variable.language":["this","super"],$pattern:n,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+l.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:l,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}})),X.registerLanguage("perl",(function(e){const t=e.regex,r=/[dualxmsipngr]{0,12}/,o={$pattern:/[\w.]+/,keyword:["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"].join(" ")},a={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:o},s={begin:/->\{/,end:/\}/},i={variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@][^\s\w{]/,relevance:0}]},l=[e.BACKSLASH_ESCAPE,a,i],u=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],c=(m,A,b="\\1")=>{const C="\\1"===b?b:t.concat(b,A);return t.concat(t.concat("(?:",m,")"),A,/(?:\\.|[^\\\/])*?/,C,/(?:\\.|[^\\\/])*?/,b,r)},p=(m,A,b)=>t.concat(t.concat("(?:",m,")"),A,/(?:\\.|[^\\\/])*?/,b,r),d=[i,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),s,{className:"string",contains:l,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:c("s|tr|y",t.either(...u,{capture:!0}))},{begin:c("s|tr|y","\\(","\\)")},{begin:c("s|tr|y","\\[","\\]")},{begin:c("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:p("(?:m|qr)?",/\//,/\//)},{begin:p("m|qr",t.either(...u,{capture:!0}),/\1/)},{begin:p("m|qr",/\(/,/\)/)},{begin:p("m|qr",/\[/,/\]/)},{begin:p("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return a.contains=d,s.contains=d,{name:"Perl",aliases:["pl","pm"],keywords:o,contains:d}})),X.registerLanguage("pgsql",(function(e){const t=e.COMMENT("--","$"),r="\\$([a-zA-Z_]?|[a-zA-Z_][a-zA-Z_0-9]*)\\$",l="BIGINT INT8 BIGSERIAL SERIAL8 BIT VARYING VARBIT BOOLEAN BOOL BOX BYTEA CHARACTER CHAR VARCHAR CIDR CIRCLE DATE DOUBLE PRECISION FLOAT8 FLOAT INET INTEGER INT INT4 INTERVAL JSON JSONB LINE LSEG|10 MACADDR MACADDR8 MONEY NUMERIC DEC DECIMAL PATH POINT POLYGON REAL FLOAT4 SMALLINT INT2 SMALLSERIAL|10 SERIAL2|10 SERIAL|10 SERIAL4|10 TEXT TIME ZONE TIMETZ|10 TIMESTAMP TIMESTAMPTZ|10 TSQUERY|10 TSVECTOR|10 TXID_SNAPSHOT|10 UUID XML NATIONAL NCHAR INT4RANGE|10 INT8RANGE|10 NUMRANGE|10 TSRANGE|10 TSTZRANGE|10 DATERANGE|10 ANYELEMENT ANYARRAY ANYNONARRAY ANYENUM ANYRANGE CSTRING INTERNAL RECORD PG_DDL_COMMAND VOID UNKNOWN OPAQUE REFCURSOR NAME OID REGPROC|10 REGPROCEDURE|10 REGOPER|10 REGOPERATOR|10 REGCLASS|10 REGTYPE|10 REGROLE|10 REGNAMESPACE|10 REGCONFIG|10 REGDICTIONARY|10 ",u=l.trim().split(" ").map((function(b){return b.split("|")[0]})).join("|"),A="ARRAY_AGG AVG BIT_AND BIT_OR BOOL_AND BOOL_OR COUNT EVERY JSON_AGG JSONB_AGG JSON_OBJECT_AGG JSONB_OBJECT_AGG MAX MIN MODE STRING_AGG SUM XMLAGG CORR COVAR_POP COVAR_SAMP REGR_AVGX REGR_AVGY REGR_COUNT REGR_INTERCEPT REGR_R2 REGR_SLOPE REGR_SXX REGR_SXY REGR_SYY STDDEV STDDEV_POP STDDEV_SAMP VARIANCE VAR_POP VAR_SAMP PERCENTILE_CONT PERCENTILE_DISC ROW_NUMBER RANK DENSE_RANK PERCENT_RANK CUME_DIST NTILE LAG LEAD FIRST_VALUE LAST_VALUE NTH_VALUE NUM_NONNULLS NUM_NULLS ABS CBRT CEIL CEILING DEGREES DIV EXP FLOOR LN LOG MOD PI POWER RADIANS ROUND SCALE SIGN SQRT TRUNC WIDTH_BUCKET RANDOM SETSEED ACOS ACOSD ASIN ASIND ATAN ATAND ATAN2 ATAN2D COS COSD COT COTD SIN SIND TAN TAND BIT_LENGTH CHAR_LENGTH CHARACTER_LENGTH LOWER OCTET_LENGTH OVERLAY POSITION SUBSTRING TREAT TRIM UPPER ASCII BTRIM CHR CONCAT CONCAT_WS CONVERT CONVERT_FROM CONVERT_TO DECODE ENCODE INITCAP LEFT LENGTH LPAD LTRIM MD5 PARSE_IDENT PG_CLIENT_ENCODING QUOTE_IDENT|10 QUOTE_LITERAL|10 QUOTE_NULLABLE|10 REGEXP_MATCH REGEXP_MATCHES REGEXP_REPLACE REGEXP_SPLIT_TO_ARRAY REGEXP_SPLIT_TO_TABLE REPEAT REPLACE REVERSE RIGHT RPAD RTRIM SPLIT_PART STRPOS SUBSTR TO_ASCII TO_HEX TRANSLATE OCTET_LENGTH GET_BIT GET_BYTE SET_BIT SET_BYTE TO_CHAR TO_DATE TO_NUMBER TO_TIMESTAMP AGE CLOCK_TIMESTAMP|10 DATE_PART DATE_TRUNC ISFINITE JUSTIFY_DAYS JUSTIFY_HOURS JUSTIFY_INTERVAL MAKE_DATE MAKE_INTERVAL|10 MAKE_TIME MAKE_TIMESTAMP|10 MAKE_TIMESTAMPTZ|10 NOW STATEMENT_TIMESTAMP|10 TIMEOFDAY TRANSACTION_TIMESTAMP|10 ENUM_FIRST ENUM_LAST ENUM_RANGE AREA CENTER DIAMETER HEIGHT ISCLOSED ISOPEN NPOINTS PCLOSE POPEN RADIUS WIDTH BOX BOUND_BOX CIRCLE LINE LSEG PATH POLYGON ABBREV BROADCAST HOST HOSTMASK MASKLEN NETMASK NETWORK SET_MASKLEN TEXT INET_SAME_FAMILY INET_MERGE MACADDR8_SET7BIT ARRAY_TO_TSVECTOR GET_CURRENT_TS_CONFIG NUMNODE PLAINTO_TSQUERY PHRASETO_TSQUERY WEBSEARCH_TO_TSQUERY QUERYTREE SETWEIGHT STRIP TO_TSQUERY TO_TSVECTOR JSON_TO_TSVECTOR JSONB_TO_TSVECTOR TS_DELETE TS_FILTER TS_HEADLINE TS_RANK TS_RANK_CD TS_REWRITE TSQUERY_PHRASE TSVECTOR_TO_ARRAY TSVECTOR_UPDATE_TRIGGER TSVECTOR_UPDATE_TRIGGER_COLUMN XMLCOMMENT XMLCONCAT XMLELEMENT XMLFOREST XMLPI XMLROOT XMLEXISTS XML_IS_WELL_FORMED XML_IS_WELL_FORMED_DOCUMENT XML_IS_WELL_FORMED_CONTENT XPATH XPATH_EXISTS XMLTABLE XMLNAMESPACES TABLE_TO_XML TABLE_TO_XMLSCHEMA TABLE_TO_XML_AND_XMLSCHEMA QUERY_TO_XML QUERY_TO_XMLSCHEMA QUERY_TO_XML_AND_XMLSCHEMA CURSOR_TO_XML CURSOR_TO_XMLSCHEMA SCHEMA_TO_XML SCHEMA_TO_XMLSCHEMA SCHEMA_TO_XML_AND_XMLSCHEMA DATABASE_TO_XML DATABASE_TO_XMLSCHEMA DATABASE_TO_XML_AND_XMLSCHEMA XMLATTRIBUTES TO_JSON TO_JSONB ARRAY_TO_JSON ROW_TO_JSON JSON_BUILD_ARRAY JSONB_BUILD_ARRAY JSON_BUILD_OBJECT JSONB_BUILD_OBJECT JSON_OBJECT JSONB_OBJECT JSON_ARRAY_LENGTH JSONB_ARRAY_LENGTH JSON_EACH JSONB_EACH JSON_EACH_TEXT JSONB_EACH_TEXT JSON_EXTRACT_PATH JSONB_EXTRACT_PATH JSON_OBJECT_KEYS JSONB_OBJECT_KEYS JSON_POPULATE_RECORD JSONB_POPULATE_RECORD JSON_POPULATE_RECORDSET JSONB_POPULATE_RECORDSET JSON_ARRAY_ELEMENTS JSONB_ARRAY_ELEMENTS JSON_ARRAY_ELEMENTS_TEXT JSONB_ARRAY_ELEMENTS_TEXT JSON_TYPEOF JSONB_TYPEOF JSON_TO_RECORD JSONB_TO_RECORD JSON_TO_RECORDSET JSONB_TO_RECORDSET JSON_STRIP_NULLS JSONB_STRIP_NULLS JSONB_SET JSONB_INSERT JSONB_PRETTY CURRVAL LASTVAL NEXTVAL SETVAL COALESCE NULLIF GREATEST LEAST ARRAY_APPEND ARRAY_CAT ARRAY_NDIMS ARRAY_DIMS ARRAY_FILL ARRAY_LENGTH ARRAY_LOWER ARRAY_POSITION ARRAY_POSITIONS ARRAY_PREPEND ARRAY_REMOVE ARRAY_REPLACE ARRAY_TO_STRING ARRAY_UPPER CARDINALITY STRING_TO_ARRAY UNNEST ISEMPTY LOWER_INC UPPER_INC LOWER_INF UPPER_INF RANGE_MERGE GENERATE_SERIES GENERATE_SUBSCRIPTS CURRENT_DATABASE CURRENT_QUERY CURRENT_SCHEMA|10 CURRENT_SCHEMAS|10 INET_CLIENT_ADDR INET_CLIENT_PORT INET_SERVER_ADDR INET_SERVER_PORT ROW_SECURITY_ACTIVE FORMAT_TYPE TO_REGCLASS TO_REGPROC TO_REGPROCEDURE TO_REGOPER TO_REGOPERATOR TO_REGTYPE TO_REGNAMESPACE TO_REGROLE COL_DESCRIPTION OBJ_DESCRIPTION SHOBJ_DESCRIPTION TXID_CURRENT TXID_CURRENT_IF_ASSIGNED TXID_CURRENT_SNAPSHOT TXID_SNAPSHOT_XIP TXID_SNAPSHOT_XMAX TXID_SNAPSHOT_XMIN TXID_VISIBLE_IN_SNAPSHOT TXID_STATUS CURRENT_SETTING SET_CONFIG BRIN_SUMMARIZE_NEW_VALUES BRIN_SUMMARIZE_RANGE BRIN_DESUMMARIZE_RANGE GIN_CLEAN_PENDING_LIST SUPPRESS_REDUNDANT_UPDATES_TRIGGER LO_FROM_BYTEA LO_PUT LO_GET LO_CREAT LO_CREATE LO_UNLINK LO_IMPORT LO_EXPORT LOREAD LOWRITE GROUPING CAST ".trim().split(" ").map((function(b){return b.split("|")[0]})).join("|");return{name:"PostgreSQL",aliases:["postgres","postgresql"],supersetOf:"sql",case_insensitive:!0,keywords:{keyword:"ABORT ALTER ANALYZE BEGIN CALL CHECKPOINT|10 CLOSE CLUSTER COMMENT COMMIT COPY CREATE DEALLOCATE DECLARE DELETE DISCARD DO DROP END EXECUTE EXPLAIN FETCH GRANT IMPORT INSERT LISTEN LOAD LOCK MOVE NOTIFY PREPARE REASSIGN|10 REFRESH REINDEX RELEASE RESET REVOKE ROLLBACK SAVEPOINT SECURITY SELECT SET SHOW START TRUNCATE UNLISTEN|10 UPDATE VACUUM|10 VALUES AGGREGATE COLLATION CONVERSION|10 DATABASE DEFAULT PRIVILEGES DOMAIN TRIGGER EXTENSION FOREIGN WRAPPER|10 TABLE FUNCTION GROUP LANGUAGE LARGE OBJECT MATERIALIZED VIEW OPERATOR CLASS FAMILY POLICY PUBLICATION|10 ROLE RULE SCHEMA SEQUENCE SERVER STATISTICS SUBSCRIPTION SYSTEM TABLESPACE CONFIGURATION DICTIONARY PARSER TEMPLATE TYPE USER MAPPING PREPARED ACCESS METHOD CAST AS TRANSFORM TRANSACTION OWNED TO INTO SESSION AUTHORIZATION INDEX PROCEDURE ASSERTION ALL ANALYSE AND ANY ARRAY ASC ASYMMETRIC|10 BOTH CASE CHECK COLLATE COLUMN CONCURRENTLY|10 CONSTRAINT CROSS DEFERRABLE RANGE DESC DISTINCT ELSE EXCEPT FOR FREEZE|10 FROM FULL HAVING ILIKE IN INITIALLY INNER INTERSECT IS ISNULL JOIN LATERAL LEADING LIKE LIMIT NATURAL NOT NOTNULL NULL OFFSET ON ONLY OR ORDER OUTER OVERLAPS PLACING PRIMARY REFERENCES RETURNING SIMILAR SOME SYMMETRIC TABLESAMPLE THEN TRAILING UNION UNIQUE USING VARIADIC|10 VERBOSE WHEN WHERE WINDOW WITH BY RETURNS INOUT OUT SETOF|10 IF STRICT CURRENT CONTINUE OWNER LOCATION OVER PARTITION WITHIN BETWEEN ESCAPE EXTERNAL INVOKER DEFINER WORK RENAME VERSION CONNECTION CONNECT TABLES TEMP TEMPORARY FUNCTIONS SEQUENCES TYPES SCHEMAS OPTION CASCADE RESTRICT ADD ADMIN EXISTS VALID VALIDATE ENABLE DISABLE REPLICA|10 ALWAYS PASSING COLUMNS PATH REF VALUE OVERRIDING IMMUTABLE STABLE VOLATILE BEFORE AFTER EACH ROW PROCEDURAL ROUTINE NO HANDLER VALIDATOR OPTIONS STORAGE OIDS|10 WITHOUT INHERIT DEPENDS CALLED INPUT LEAKPROOF|10 COST ROWS NOWAIT SEARCH UNTIL ENCRYPTED|10 PASSWORD CONFLICT|10 INSTEAD INHERITS CHARACTERISTICS WRITE CURSOR ALSO STATEMENT SHARE EXCLUSIVE INLINE ISOLATION REPEATABLE READ COMMITTED SERIALIZABLE UNCOMMITTED LOCAL GLOBAL SQL PROCEDURES RECURSIVE SNAPSHOT ROLLUP CUBE TRUSTED|10 INCLUDE FOLLOWING PRECEDING UNBOUNDED RANGE GROUPS UNENCRYPTED|10 SYSID FORMAT DELIMITER HEADER QUOTE ENCODING FILTER OFF FORCE_QUOTE FORCE_NOT_NULL FORCE_NULL COSTS BUFFERS TIMING SUMMARY DISABLE_PAGE_SKIPPING RESTART CYCLE GENERATED IDENTITY DEFERRED IMMEDIATE LEVEL LOGGED UNLOGGED OF NOTHING NONE EXCLUDE ATTRIBUTE USAGE ROUTINES TRUE FALSE NAN INFINITY ALIAS BEGIN CONSTANT DECLARE END EXCEPTION RETURN PERFORM|10 RAISE GET DIAGNOSTICS STACKED|10 FOREACH LOOP ELSIF EXIT WHILE REVERSE SLICE DEBUG LOG INFO NOTICE WARNING ASSERT OPEN SUPERUSER NOSUPERUSER CREATEDB NOCREATEDB CREATEROLE NOCREATEROLE INHERIT NOINHERIT LOGIN NOLOGIN REPLICATION NOREPLICATION BYPASSRLS NOBYPASSRLS ",built_in:"CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURRENT_CATALOG|10 CURRENT_DATE LOCALTIME LOCALTIMESTAMP CURRENT_ROLE|10 CURRENT_SCHEMA|10 SESSION_USER PUBLIC FOUND NEW OLD TG_NAME|10 TG_WHEN|10 TG_LEVEL|10 TG_OP|10 TG_RELID|10 TG_RELNAME|10 TG_TABLE_NAME|10 TG_TABLE_SCHEMA|10 TG_NARGS|10 TG_ARGV|10 TG_EVENT|10 TG_TAG|10 ROW_COUNT RESULT_OID|10 PG_CONTEXT|10 RETURNED_SQLSTATE COLUMN_NAME CONSTRAINT_NAME PG_DATATYPE_NAME|10 MESSAGE_TEXT TABLE_NAME SCHEMA_NAME PG_EXCEPTION_DETAIL|10 PG_EXCEPTION_HINT|10 PG_EXCEPTION_CONTEXT|10 SQLSTATE SQLERRM|10 SUCCESSFUL_COMPLETION WARNING DYNAMIC_RESULT_SETS_RETURNED IMPLICIT_ZERO_BIT_PADDING NULL_VALUE_ELIMINATED_IN_SET_FUNCTION PRIVILEGE_NOT_GRANTED PRIVILEGE_NOT_REVOKED STRING_DATA_RIGHT_TRUNCATION DEPRECATED_FEATURE NO_DATA NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED SQL_STATEMENT_NOT_YET_COMPLETE CONNECTION_EXCEPTION CONNECTION_DOES_NOT_EXIST CONNECTION_FAILURE SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION TRANSACTION_RESOLUTION_UNKNOWN PROTOCOL_VIOLATION TRIGGERED_ACTION_EXCEPTION FEATURE_NOT_SUPPORTED INVALID_TRANSACTION_INITIATION LOCATOR_EXCEPTION INVALID_LOCATOR_SPECIFICATION INVALID_GRANTOR INVALID_GRANT_OPERATION INVALID_ROLE_SPECIFICATION DIAGNOSTICS_EXCEPTION STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER CASE_NOT_FOUND CARDINALITY_VIOLATION DATA_EXCEPTION ARRAY_SUBSCRIPT_ERROR CHARACTER_NOT_IN_REPERTOIRE DATETIME_FIELD_OVERFLOW DIVISION_BY_ZERO ERROR_IN_ASSIGNMENT ESCAPE_CHARACTER_CONFLICT INDICATOR_OVERFLOW INTERVAL_FIELD_OVERFLOW INVALID_ARGUMENT_FOR_LOGARITHM INVALID_ARGUMENT_FOR_NTILE_FUNCTION INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION INVALID_ARGUMENT_FOR_POWER_FUNCTION INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION INVALID_CHARACTER_VALUE_FOR_CAST INVALID_DATETIME_FORMAT INVALID_ESCAPE_CHARACTER INVALID_ESCAPE_OCTET INVALID_ESCAPE_SEQUENCE NONSTANDARD_USE_OF_ESCAPE_CHARACTER INVALID_INDICATOR_PARAMETER_VALUE INVALID_PARAMETER_VALUE INVALID_REGULAR_EXPRESSION INVALID_ROW_COUNT_IN_LIMIT_CLAUSE INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE INVALID_TABLESAMPLE_ARGUMENT INVALID_TABLESAMPLE_REPEAT INVALID_TIME_ZONE_DISPLACEMENT_VALUE INVALID_USE_OF_ESCAPE_CHARACTER MOST_SPECIFIC_TYPE_MISMATCH NULL_VALUE_NOT_ALLOWED NULL_VALUE_NO_INDICATOR_PARAMETER NUMERIC_VALUE_OUT_OF_RANGE SEQUENCE_GENERATOR_LIMIT_EXCEEDED STRING_DATA_LENGTH_MISMATCH STRING_DATA_RIGHT_TRUNCATION SUBSTRING_ERROR TRIM_ERROR UNTERMINATED_C_STRING ZERO_LENGTH_CHARACTER_STRING FLOATING_POINT_EXCEPTION INVALID_TEXT_REPRESENTATION INVALID_BINARY_REPRESENTATION BAD_COPY_FILE_FORMAT UNTRANSLATABLE_CHARACTER NOT_AN_XML_DOCUMENT INVALID_XML_DOCUMENT INVALID_XML_CONTENT INVALID_XML_COMMENT INVALID_XML_PROCESSING_INSTRUCTION INTEGRITY_CONSTRAINT_VIOLATION RESTRICT_VIOLATION NOT_NULL_VIOLATION FOREIGN_KEY_VIOLATION UNIQUE_VIOLATION CHECK_VIOLATION EXCLUSION_VIOLATION INVALID_CURSOR_STATE INVALID_TRANSACTION_STATE ACTIVE_SQL_TRANSACTION BRANCH_TRANSACTION_ALREADY_ACTIVE HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION READ_ONLY_SQL_TRANSACTION SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED NO_ACTIVE_SQL_TRANSACTION IN_FAILED_SQL_TRANSACTION IDLE_IN_TRANSACTION_SESSION_TIMEOUT INVALID_SQL_STATEMENT_NAME TRIGGERED_DATA_CHANGE_VIOLATION INVALID_AUTHORIZATION_SPECIFICATION INVALID_PASSWORD DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST DEPENDENT_OBJECTS_STILL_EXIST INVALID_TRANSACTION_TERMINATION SQL_ROUTINE_EXCEPTION FUNCTION_EXECUTED_NO_RETURN_STATEMENT MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED INVALID_CURSOR_NAME EXTERNAL_ROUTINE_EXCEPTION CONTAINING_SQL_NOT_PERMITTED MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED EXTERNAL_ROUTINE_INVOCATION_EXCEPTION INVALID_SQLSTATE_RETURNED NULL_VALUE_NOT_ALLOWED TRIGGER_PROTOCOL_VIOLATED SRF_PROTOCOL_VIOLATED EVENT_TRIGGER_PROTOCOL_VIOLATED SAVEPOINT_EXCEPTION INVALID_SAVEPOINT_SPECIFICATION INVALID_CATALOG_NAME INVALID_SCHEMA_NAME TRANSACTION_ROLLBACK TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION SERIALIZATION_FAILURE STATEMENT_COMPLETION_UNKNOWN DEADLOCK_DETECTED SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION SYNTAX_ERROR INSUFFICIENT_PRIVILEGE CANNOT_COERCE GROUPING_ERROR WINDOWING_ERROR INVALID_RECURSION INVALID_FOREIGN_KEY INVALID_NAME NAME_TOO_LONG RESERVED_NAME DATATYPE_MISMATCH INDETERMINATE_DATATYPE COLLATION_MISMATCH INDETERMINATE_COLLATION WRONG_OBJECT_TYPE GENERATED_ALWAYS UNDEFINED_COLUMN UNDEFINED_FUNCTION UNDEFINED_TABLE UNDEFINED_PARAMETER UNDEFINED_OBJECT DUPLICATE_COLUMN DUPLICATE_CURSOR DUPLICATE_DATABASE DUPLICATE_FUNCTION DUPLICATE_PREPARED_STATEMENT DUPLICATE_SCHEMA DUPLICATE_TABLE DUPLICATE_ALIAS DUPLICATE_OBJECT AMBIGUOUS_COLUMN AMBIGUOUS_FUNCTION AMBIGUOUS_PARAMETER AMBIGUOUS_ALIAS INVALID_COLUMN_REFERENCE INVALID_COLUMN_DEFINITION INVALID_CURSOR_DEFINITION INVALID_DATABASE_DEFINITION INVALID_FUNCTION_DEFINITION INVALID_PREPARED_STATEMENT_DEFINITION INVALID_SCHEMA_DEFINITION INVALID_TABLE_DEFINITION INVALID_OBJECT_DEFINITION WITH_CHECK_OPTION_VIOLATION INSUFFICIENT_RESOURCES DISK_FULL OUT_OF_MEMORY TOO_MANY_CONNECTIONS CONFIGURATION_LIMIT_EXCEEDED PROGRAM_LIMIT_EXCEEDED STATEMENT_TOO_COMPLEX TOO_MANY_COLUMNS TOO_MANY_ARGUMENTS OBJECT_NOT_IN_PREREQUISITE_STATE OBJECT_IN_USE CANT_CHANGE_RUNTIME_PARAM LOCK_NOT_AVAILABLE OPERATOR_INTERVENTION QUERY_CANCELED ADMIN_SHUTDOWN CRASH_SHUTDOWN CANNOT_CONNECT_NOW DATABASE_DROPPED SYSTEM_ERROR IO_ERROR UNDEFINED_FILE DUPLICATE_FILE SNAPSHOT_TOO_OLD CONFIG_FILE_ERROR LOCK_FILE_EXISTS FDW_ERROR FDW_COLUMN_NAME_NOT_FOUND FDW_DYNAMIC_PARAMETER_VALUE_NEEDED FDW_FUNCTION_SEQUENCE_ERROR FDW_INCONSISTENT_DESCRIPTOR_INFORMATION FDW_INVALID_ATTRIBUTE_VALUE FDW_INVALID_COLUMN_NAME FDW_INVALID_COLUMN_NUMBER FDW_INVALID_DATA_TYPE FDW_INVALID_DATA_TYPE_DESCRIPTORS FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER FDW_INVALID_HANDLE FDW_INVALID_OPTION_INDEX FDW_INVALID_OPTION_NAME FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH FDW_INVALID_STRING_FORMAT FDW_INVALID_USE_OF_NULL_POINTER FDW_TOO_MANY_HANDLES FDW_OUT_OF_MEMORY FDW_NO_SCHEMAS FDW_OPTION_NAME_NOT_FOUND FDW_REPLY_HANDLE FDW_SCHEMA_NOT_FOUND FDW_TABLE_NOT_FOUND FDW_UNABLE_TO_CREATE_EXECUTION FDW_UNABLE_TO_CREATE_REPLY FDW_UNABLE_TO_ESTABLISH_CONNECTION PLPGSQL_ERROR RAISE_EXCEPTION NO_DATA_FOUND TOO_MANY_ROWS ASSERT_FAILURE INTERNAL_ERROR DATA_CORRUPTED INDEX_CORRUPTED "},illegal:/:==|\W\s*\(\*|(^|\s)\$[a-z]|\{\{|[a-z]:\s*$|\.\.\.|TO:|DO:/,contains:[{className:"keyword",variants:[{begin:/\bTEXT\s*SEARCH\b/},{begin:/\b(PRIMARY|FOREIGN|FOR(\s+NO)?)\s+KEY\b/},{begin:/\bPARALLEL\s+(UNSAFE|RESTRICTED|SAFE)\b/},{begin:/\bSTORAGE\s+(PLAIN|EXTERNAL|EXTENDED|MAIN)\b/},{begin:/\bMATCH\s+(FULL|PARTIAL|SIMPLE)\b/},{begin:/\bNULLS\s+(FIRST|LAST)\b/},{begin:/\bEVENT\s+TRIGGER\b/},{begin:/\b(MAPPING|OR)\s+REPLACE\b/},{begin:/\b(FROM|TO)\s+(PROGRAM|STDIN|STDOUT)\b/},{begin:/\b(SHARE|EXCLUSIVE)\s+MODE\b/},{begin:/\b(LEFT|RIGHT)\s+(OUTER\s+)?JOIN\b/},{begin:/\b(FETCH|MOVE)\s+(NEXT|PRIOR|FIRST|LAST|ABSOLUTE|RELATIVE|FORWARD|BACKWARD)\b/},{begin:/\bPRESERVE\s+ROWS\b/},{begin:/\bDISCARD\s+PLANS\b/},{begin:/\bREFERENCING\s+(OLD|NEW)\b/},{begin:/\bSKIP\s+LOCKED\b/},{begin:/\bGROUPING\s+SETS\b/},{begin:/\b(BINARY|INSENSITIVE|SCROLL|NO\s+SCROLL)\s+(CURSOR|FOR)\b/},{begin:/\b(WITH|WITHOUT)\s+HOLD\b/},{begin:/\bWITH\s+(CASCADED|LOCAL)\s+CHECK\s+OPTION\b/},{begin:/\bEXCLUDE\s+(TIES|NO\s+OTHERS)\b/},{begin:/\bFORMAT\s+(TEXT|XML|JSON|YAML)\b/},{begin:/\bSET\s+((SESSION|LOCAL)\s+)?NAMES\b/},{begin:/\bIS\s+(NOT\s+)?UNKNOWN\b/},{begin:/\bSECURITY\s+LABEL\b/},{begin:/\bSTANDALONE\s+(YES|NO|NO\s+VALUE)\b/},{begin:/\bWITH\s+(NO\s+)?DATA\b/},{begin:/\b(FOREIGN|SET)\s+DATA\b/},{begin:/\bSET\s+(CATALOG|CONSTRAINTS)\b/},{begin:/\b(WITH|FOR)\s+ORDINALITY\b/},{begin:/\bIS\s+(NOT\s+)?DOCUMENT\b/},{begin:/\bXML\s+OPTION\s+(DOCUMENT|CONTENT)\b/},{begin:/\b(STRIP|PRESERVE)\s+WHITESPACE\b/},{begin:/\bNO\s+(ACTION|MAXVALUE|MINVALUE)\b/},{begin:/\bPARTITION\s+BY\s+(RANGE|LIST|HASH)\b/},{begin:/\bAT\s+TIME\s+ZONE\b/},{begin:/\bGRANTED\s+BY\b/},{begin:/\bRETURN\s+(QUERY|NEXT)\b/},{begin:/\b(ATTACH|DETACH)\s+PARTITION\b/},{begin:/\bFORCE\s+ROW\s+LEVEL\s+SECURITY\b/},{begin:/\b(INCLUDING|EXCLUDING)\s+(COMMENTS|CONSTRAINTS|DEFAULTS|IDENTITY|INDEXES|STATISTICS|STORAGE|ALL)\b/},{begin:/\bAS\s+(ASSIGNMENT|IMPLICIT|PERMISSIVE|RESTRICTIVE|ENUM|RANGE)\b/}]},{begin:/\b(FORMAT|FAMILY|VERSION)\s*\(/},{begin:/\bINCLUDE\s*\(/,keywords:"INCLUDE"},{begin:/\bRANGE(?!\s*(BETWEEN|UNBOUNDED|CURRENT|[-0-9]+))/},{begin:/\b(VERSION|OWNER|TEMPLATE|TABLESPACE|CONNECTION\s+LIMIT|PROCEDURE|RESTRICT|JOIN|PARSER|COPY|START|END|COLLATION|INPUT|ANALYZE|STORAGE|LIKE|DEFAULT|DELIMITER|ENCODING|COLUMN|CONSTRAINT|TABLE|SCHEMA)\s*=/},{begin:/\b(PG_\w+?|HAS_[A-Z_]+_PRIVILEGE)\b/,relevance:10},{begin:/\bEXTRACT\s*\(/,end:/\bFROM\b/,returnEnd:!0,keywords:{type:"CENTURY DAY DECADE DOW DOY EPOCH HOUR ISODOW ISOYEAR MICROSECONDS MILLENNIUM MILLISECONDS MINUTE MONTH QUARTER SECOND TIMEZONE TIMEZONE_HOUR TIMEZONE_MINUTE WEEK YEAR"}},{begin:/\b(XMLELEMENT|XMLPI)\s*\(\s*NAME/,keywords:{keyword:"NAME"}},{begin:/\b(XMLPARSE|XMLSERIALIZE)\s*\(\s*(DOCUMENT|CONTENT)/,keywords:{keyword:"DOCUMENT CONTENT"}},{beginKeywords:"CACHE INCREMENT MAXVALUE MINVALUE",end:e.C_NUMBER_RE,returnEnd:!0,keywords:"BY CACHE INCREMENT MAXVALUE MINVALUE"},{className:"type",begin:/\b(WITH|WITHOUT)\s+TIME\s+ZONE\b/},{className:"type",begin:/\bINTERVAL\s+(YEAR|MONTH|DAY|HOUR|MINUTE|SECOND)(\s+TO\s+(MONTH|HOUR|MINUTE|SECOND))?\b/},{begin:/\bRETURNS\s+(LANGUAGE_HANDLER|TRIGGER|EVENT_TRIGGER|FDW_HANDLER|INDEX_AM_HANDLER|TSM_HANDLER)\b/,keywords:{keyword:"RETURNS",type:"LANGUAGE_HANDLER TRIGGER EVENT_TRIGGER FDW_HANDLER INDEX_AM_HANDLER TSM_HANDLER"}},{begin:"\\b("+A+")\\s*\\("},{begin:"\\.("+u+")\\b"},{begin:"\\b("+u+")\\s+PATH\\b",keywords:{keyword:"PATH",type:l.replace("PATH ","")}},{className:"type",begin:"\\b("+u+")\\b"},{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:"(e|E|u&|U&)'",end:"'",contains:[{begin:"\\\\."}],relevance:10},e.END_SAME_AS_BEGIN({begin:r,end:r,contains:[{subLanguage:["pgsql","perl","python","tcl","r","lua","java","php","ruby","bash","scheme","xml","json"],endsWithParent:!0}]}),{begin:'"',end:'"',contains:[{begin:'""'}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,{className:"meta",variants:[{begin:"%(ROW)?TYPE",relevance:10},{begin:"\\$\\d+"},{begin:"^#\\w",end:"$"}]},{className:"symbol",begin:"<<\\s*[a-zA-Z_][a-zA-Z_0-9$]*\\s*>>",relevance:10}]}})),X.registerLanguage("php",(function(e){const t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,r=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),o=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),a={scope:"variable",match:"\\$+"+r},i={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null}),d="[ \t\n]",m={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(i)}),l,{begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(i),"on:begin":(Y,O)=>{O.data._beginMatch=Y[1]||Y[2]},"on:end":(Y,O)=>{O.data._beginMatch!==Y[1]&&O.ignoreMatch()}},e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},A={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},b=["false","null","true"],C=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],h=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],E={keyword:C,literal:(Y=>{const O=[];return Y.forEach((G=>{O.push(G),G.toLowerCase()===G?O.push(G.toUpperCase()):O.push(G.toLowerCase())})),O})(b),built_in:h},v=Y=>Y.map((O=>O.replace(/\|\d+$/,""))),N={variants:[{match:[/new/,t.concat(d,"+"),t.concat("(?!",v(h).join("\\b|"),"\\b)"),o],scope:{1:"keyword",4:"title.class"}}]},_=t.concat(r,"\\b(?!\\()"),S={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),_],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[o,t.concat(/::/,t.lookahead(/(?!class\b)/)),_],scope:{1:"title.class",3:"variable.constant"}},{match:[o,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[o,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},R={scope:"attr",match:t.concat(r,t.lookahead(":"),t.lookahead(/(?!::)/))},q={relevance:0,begin:/\(/,end:/\)/,keywords:E,contains:[R,a,S,e.C_BLOCK_COMMENT_MODE,m,A,N]},I={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",v(C).join("\\b|"),"|",v(h).join("\\b|"),"\\b)"),r,t.concat(d,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[q]};q.contains.push(I);const Q=[R,S,e.C_BLOCK_COMMENT_MODE,m,A,N];return{case_insensitive:!1,keywords:E,contains:[{begin:t.concat(/#\[\s*/,o),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:b,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:b,keyword:["new","array"]},contains:["self",...Q]},...Q,{scope:"meta",match:o}]},e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},a,I,S,{match:[/const/,/\s/,r],scope:{1:"keyword",3:"variable.constant"}},N,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:E,contains:["self",a,S,e.C_BLOCK_COMMENT_MODE,m,A]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},m,A]}})),X.registerLanguage("php-template",(function(e){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}})),X.registerLanguage("plaintext",(function(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}})),X.registerLanguage("python",(function(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},l={className:"meta",begin:/^(>>>|\.\.\.) /},u={className:"subst",begin:/\{/,end:/\}/,keywords:i,illegal:/#/},c={begin:/\{\{/,relevance:0},p={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,l,c,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,l,c,u]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,c,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,c,u]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},d="[0-9](_?[0-9])*",m=`(\\b(${d}))?\\.(${d})|\\b(${d})\\.`,A=`\\b|${r.join("|")}`,b={className:"number",relevance:0,variants:[{begin:`(\\b(${d})|(${m}))[eE][+-]?(${d})[jJ]?(?=${A})`},{begin:`(${m})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${A})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${A})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${A})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${A})`},{begin:`\\b(${d})[jJ](?=${A})`}]},C={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:i,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},h={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",l,b,p,e.HASH_COMMENT_MODE]}]};return u.contains=[p,b,l],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i,illegal:/(<\/|\?)|=>/,contains:[l,b,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},p,C,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[h]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[b,h,p]}]}})),X.registerLanguage("python-repl",(function(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}})),X.registerLanguage("r",(function(e){const t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,r=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),o=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,a=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[o,r]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,r]},{scope:{1:"punctuation",2:"number"},match:[a,r]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,r]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:o},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:a},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}})),X.registerLanguage("ruby",(function(e){const t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",r=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),o=t.concat(r,/(::\w+)*/),s={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},i={className:"doctag",begin:"@[A-Za-z]+"},l={begin:"#<",end:">"},u=[e.COMMENT("#","$",{contains:[i]}),e.COMMENT("^=begin","^=end",{contains:[i],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/,end:/\}/,keywords:s},p={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},m="[0-9](_?[0-9])*",A={className:"number",relevance:0,variants:[{begin:`\\b([1-9](_?[0-9])*|0)(\\.(${m}))?([eE][+-]?(${m})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},b={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:s}]},_=[p,{variants:[{match:[/class\s+/,o,/\s+<\s+/,o]},{match:[/\b(class|module)\s+/,o]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:s},{match:[/(include|extend)\s+/,o],scope:{2:"title.class"},keywords:s},{relevance:0,match:[o,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:r,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[b]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[p,{begin:n}],relevance:0},A,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:s},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(l,u),relevance:0}].concat(l,u);c.contains=_,b.contains=_;const I=[{begin:/^\s*=>/,starts:{end:"$",contains:_}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:s,contains:_}}];return u.unshift(l),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:s,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(I).concat(u).concat(_)}})),X.registerLanguage("rust",(function(e){const t=e.regex,n={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,e.IDENT_RE,t.lookahead(/\s*\(/))},r="([ui](8|16|32|64|128|size)|f(32|64))?",s=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],i=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:i,keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","unsafe","unsized","use","virtual","where","while","yield"],literal:["true","false","Some","None","Ok","Err"],built_in:s},illegal:""},n]}})),X.registerLanguage("scss",(function(e){const t=(e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}))(e),n=zy,r=Vy,o="@[a-z-]+",i={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+qy.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+r.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},i,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Gy.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,i,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:o,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:Hy.join(" ")},contains:[{begin:o,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},i,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}})),X.registerLanguage("shell",(function(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}})),X.registerLanguage("sql",(function(e){const t=e.regex,n=e.COMMENT("--","$"),a=["true","false","unknown"],i=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],c=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],d=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],m=c,A=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((E=>!c.includes(E))),h={begin:t.concat(/\b/,t.either(...m),/\s*\(/),relevance:0,keywords:{built_in:m}};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:function(E,{exceptions:v,when:N}={}){const _=N;return v=v||[],E.map((S=>S.match(/\|\d+$/)||v.includes(S)?S:_(S)?`${S}|0`:S))}(A,{when:E=>E.length<3}),literal:a,type:i,built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"]},contains:[{begin:t.either(...d),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:A.concat(d),literal:a,type:i}},{className:"type",begin:t.either("double precision","large object","with timezone","without timezone")},h,{className:"variable",begin:/@[a-z0-9][a-z0-9_]*/},{className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/,contains:[{begin:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,{className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}})),X.registerLanguage("swift",(function(e){const t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),r=[e.C_LINE_COMMENT_MODE,n],o={match:[/\./,ot(...Yy,...n1)],className:{2:"keyword"}},a={match:de(/\./,ot(...Pu)),relevance:0},s=Pu.filter((te=>"string"==typeof te)).concat(["_|0"]),l={variants:[{className:"keyword",match:ot(...Pu.filter((te=>"string"!=typeof te)).concat(Ky).map(Bu),...n1)}]},u={$pattern:ot(/\b\w+/,/#\w+/),keyword:s.concat(Qy),literal:r1},c=[o,a,l],m=[{match:de(/\./,ot(...o1)),relevance:0},{className:"built_in",match:de(/\b/,ot(...o1),/(?=\()/)}],A={match:/->/,relevance:0},C=[A,{className:"operator",relevance:0,variants:[{match:Uu},{match:`\\.(\\.|${s1})+`}]}],h="([0-9]_*)+",g="([0-9a-fA-F]_*)+",E={className:"number",relevance:0,variants:[{match:`\\b(${h})(\\.(${h}))?([eE][+-]?(${h}))?\\b`},{match:`\\b0x(${g})(\\.(${g}))?([pP][+-]?(${h}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},v=(te="")=>({className:"subst",variants:[{match:de(/\\/,te,/[0\\tnr"']/)},{match:de(/\\/,te,/u\{[0-9a-fA-F]{1,8}\}/)}]}),N=(te="")=>({className:"subst",match:de(/\\/,te,/[\t ]*(?:[\r\n]|\r\n)/)}),_=(te="")=>({className:"subst",label:"interpol",begin:de(/\\/,te,/\(/),end:/\)/}),S=(te="")=>({begin:de(te,/"""/),end:de(/"""/,te),contains:[v(te),N(te),_(te)]}),R=(te="")=>({begin:de(te,/"/),end:de(/"/,te),contains:[v(te),_(te)]}),q={className:"string",variants:[S(),S("#"),S("##"),S("###"),R(),R("#"),R("##"),R("###")]},I=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],Q={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:I},ie=te=>{const Re=de(te,/\//),ke=de(/\//,te);return{begin:Re,end:ke,contains:[...I,{scope:"comment",begin:`#(?!.*${ke})`,end:/$/}]}},Y={scope:"regexp",variants:[ie("###"),ie("##"),ie("#"),Q]},O={match:de(/`/,on,/`/)},x=[O,{className:"variable",match:/\$\d+/},{className:"variable",match:`\\$${Ms}+`}],k=[{match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:e3,contains:[...C,E,q]}]}},{scope:"keyword",match:de(/@/,ot(...Jy))},{scope:"meta",match:de(/@/,on)}],H={match:Is(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:de(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,Ms,"+")},{className:"type",match:qu,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:de(/\s+&\s+/,Is(qu)),relevance:0}]},j={begin://,keywords:u,contains:[...r,...c,...k,A,H]};H.contains.push(j);const ce={begin:/\(/,end:/\)/,relevance:0,keywords:u,contains:["self",{match:de(on,/\s*:/),keywords:"_|0",relevance:0},...r,Y,...c,...m,...C,E,q,...x,...k,H]},se={begin://,keywords:"repeat each",contains:[...r,H]},mt={begin:/\(/,end:/\)/,keywords:u,contains:[{begin:ot(Is(de(on,/\s*:/)),Is(de(on,/\s+/,on,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:on}]},...r,...c,...C,E,q,...k,H,ce],endsParent:!0,illegal:/["']/},Ft={match:[/(func|macro)/,/\s+/,ot(O.match,on,Uu)],className:{1:"keyword",3:"title.function"},contains:[se,mt,t],illegal:[/\[/,/%/]},ht={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[se,mt,t],illegal:/\[|%/},Ge={match:[/operator/,/\s+/,Uu],className:{1:"keyword",3:"title"}},Ct={begin:[/precedencegroup/,/\s+/,qu],className:{1:"keyword",3:"title"},contains:[H],keywords:[...Xy,...r1],end:/}/};for(const te of q.variants){const Re=te.contains.find((Ce=>"interpol"===Ce.label));Re.keywords=u;const ke=[...c,...m,...C,E,q,...x];Re.contains=[...ke,{begin:/\(/,end:/\)/,contains:["self",...ke]}]}return{name:"Swift",keywords:u,contains:[...r,Ft,ht,{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:u,contains:[e.inherit(e.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...c]},Ge,Ct,{beginKeywords:"import",end:/$/,contains:[...r],relevance:0},Y,...c,...m,...C,E,q,...x,...k,H,ce]}})),X.registerLanguage("typescript",(function(e){const t=function(e){const t=e.regex,r=Fs,o_begin="<>",o_end="",s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(T,y)=>{const L=T[0].length+T.index,k=T.input[L];if("<"===k||","===k)return void y.ignoreMatch();let H;">"===k&&(((T,{after:y})=>{const L="",x={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(P)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[_]};var T;return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{PARAMS_CONTAINS:N,CLASS_REFERENCE:R},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,m,A,b,C,g,{match:/\$\d+/},p,R,{className:"attr",begin:r+t.lookahead(":"),relevance:0},x,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[g,e.REGEXP_MODE,{className:"function",begin:P,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:N}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:o_begin,end:o_end},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},I,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[_,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},O,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[_]},Y,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},S,G,{match:/\$[(.]/}]}}(e),n=Fs,r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],o={beginKeywords:"namespace",end:/\{/,excludeEnd:!0,contains:[t.exports.CLASS_REFERENCE]},a={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[t.exports.CLASS_REFERENCE]},l={$pattern:Fs,keyword:l1.concat(["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"]),literal:u1,built_in:g1.concat(r),"variable.language":f1},u={className:"meta",begin:"@"+n},c=(d,m,A)=>{const b=d.contains.findIndex((C=>C.label===m));if(-1===b)throw new Error("can not find mode to replace");d.contains.splice(b,1,A)};return Object.assign(t.keywords,l),t.exports.PARAMS_CONTAINS.push(u),t.contains=t.contains.concat([u,o,a]),c(t,"shebang",e.SHEBANG()),c(t,"use_strict",{className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/}),t.contains.find((d=>"func.def"===d.label)).relevance=0,Object.assign(t,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),t})),X.registerLanguage("vbnet",(function(e){const t=e.regex,o=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,s=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,i=/\d{1,2}(:\d{1,2}){1,2}/,l={className:"literal",variants:[{begin:t.concat(/# */,t.either(a,o),/ *#/)},{begin:t.concat(/# */,i,/ *#/)},{begin:t.concat(/# */,s,/ *#/)},{begin:t.concat(/# */,t.either(a,o),/ +/,t.either(s,i),/ *#/)}]},p=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),d=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},l,{className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{className:"label",begin:/^\w+:/},p,d,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[d]}]}})),X.registerLanguage("wasm",(function(e){e.regex;const t=e.COMMENT(/\(;/,/;\)/);return t.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"]},contains:[e.COMMENT(/;;/,/$/),t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},e.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},{className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/},{className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/}]}})),X.registerLanguage("xml",(function(e){const t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),o={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},a={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},s=e.inherit(a,{begin:/\(/,end:/\)/}),i=e.inherit(e.APOS_STRING_MODE,{className:"string"}),l=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),u={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[a,l,i,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[a,s,l,i]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},o,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[u],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[u],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:u}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}})),X.registerLanguage("yaml",(function(e){const t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},s=e.inherit(a,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),d={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},m={begin:/\{/,end:/\}/,contains:[d],illegal:"\\n",relevance:0},A={begin:"\\[",end:"\\]",contains:[d],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},m,A,a],C=[...b];return C.pop(),C.push(s),d.contains=C,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:b}}));const m1=X,l3=eD({html:!1,typographer:!0,highlight:function(e,t){const n=zn();if(t&&m1.getLanguage(t))try{return`
\n
\n
${t}
\n \n
\n
`+m1.highlight(e,{language:t,ignoreIllegals:!0}).value+"
"}catch{}return`
\n
\n
\n \n
\n
`+db.encode(e)+"
"}}).disable("list");function h1(e=""){return l3.render(e)}/*! @license DOMPurify 3.0.8 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.8/LICENSE */const{entries:E1,setPrototypeOf:A1,isFrozen:u3,getPrototypeOf:c3,getOwnPropertyDescriptor:Hu}=Object;let{freeze:Qe,seal:Mt,create:b1}=Object,{apply:Vu,construct:zu}=typeof Reflect<"u"&&Reflect;Qe||(Qe=function(t){return t}),Mt||(Mt=function(t){return t}),Vu||(Vu=function(t,n,r){return t.apply(n,r)}),zu||(zu=function(t,n){return new t(...n)});const Bs=Tt(Array.prototype.forEach),_1=Tt(Array.prototype.pop),qo=Tt(Array.prototype.push),Ps=Tt(String.prototype.toLowerCase),Gu=Tt(String.prototype.toString),d3=Tt(String.prototype.match),Ho=Tt(String.prototype.replace),p3=Tt(String.prototype.indexOf),f3=Tt(String.prototype.trim),gt=Tt(RegExp.prototype.test),Vo=function(e){return function(){for(var t=arguments.length,n=new Array(t),r=0;r1?n-1:0),o=1;o2&&void 0!==arguments[2]?arguments[2]:Ps;A1&&A1(e,null);let r=t.length;for(;r--;){let o=t[r];if("string"==typeof o){const a=n(o);a!==o&&(u3(t)||(t[r]=a),o=a)}e[o]=!0}return e}function m3(e){for(let t=0;t/gm),_3=Mt(/\${[\w\W]*}/gm),v3=Mt(/^data-[\-\w.\u00B7-\uFFFF]/),D3=Mt(/^aria-[\-\w]+$/),C1=Mt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),y3=Mt(/^(?:\w+script|data):/i),T3=Mt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),N1=Mt(/^html$/i);var S1=Object.freeze({__proto__:null,MUSTACHE_EXPR:A3,ERB_EXPR:b3,TMPLIT_EXPR:_3,DATA_ATTR:v3,ARIA_ATTR:D3,IS_ALLOWED_URI:C1,IS_SCRIPT_OR_DATA:y3,ATTR_WHITESPACE:T3,DOCTYPE_NAME:N1});var S3=function w1(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:typeof window>"u"?null:window;const t=$=>w1($);if(t.version="3.0.8",t.removed=[],!e||!e.document||9!==e.document.nodeType)return t.isSupported=!1,t;let{document:n}=e;const r=n,o=r.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:i,Element:l,NodeFilter:u,NamedNodeMap:c=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:p,DOMParser:d,trustedTypes:m}=e,A=l.prototype,b=Us(A,"cloneNode"),C=Us(A,"nextSibling"),h=Us(A,"childNodes"),g=Us(A,"parentNode");if("function"==typeof s){const $=n.createElement("template");$.content&&$.content.ownerDocument&&(n=$.content.ownerDocument)}let E,v="";const{implementation:N,createNodeIterator:_,createDocumentFragment:S,getElementsByTagName:R}=n,{importNode:q}=r;let I={};t.isSupported="function"==typeof E1&&"function"==typeof g&&N&&void 0!==N.createHTMLDocument;const{MUSTACHE_EXPR:Q,ERB_EXPR:ie,TMPLIT_EXPR:Y,DATA_ATTR:O,ARIA_ATTR:G,IS_SCRIPT_OR_DATA:P,ATTR_WHITESPACE:x}=S1;let{IS_ALLOWED_URI:T}=S1,y=null;const L=J({},[...v1,...$u,...Zu,...ju,...D1]);let k=null;const H=J({},[...y1,...Wu,...T1,...qs]);let j=Object.seal(b1(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),fe=null,ce=null,se=!0,le=!0,mt=!1,Ft=!0,ht=!1,Ge=!1,Ct=!1,te=!1,Re=!1,ke=!1,Ce=!1,Hs=!0,Pr=!1,Ur=!0,De=!1,oe={},Bt=null;const jt=J({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let qr=null;const Hr=J({},["audio","video","img","source","image","track"]);let B=null;const V=J({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),K="http://www.w3.org/1998/Math/MathML",ne="http://www.w3.org/2000/svg",ge="http://www.w3.org/1999/xhtml";let $e=ge,zo=!1,Go=null;const l8=J({},[K,ne,ge],Gu);let $o=null;const u8=["application/xhtml+xml","text/html"];let Ie=null,Vr=null;const d8=n.createElement("form"),M1=function(D){return D instanceof RegExp||D instanceof Function},Xu=function(){let D=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!Vr||Vr!==D){if((!D||"object"!=typeof D)&&(D={}),D=Yn(D),$o=-1===u8.indexOf(D.PARSER_MEDIA_TYPE)?"text/html":D.PARSER_MEDIA_TYPE,Ie="application/xhtml+xml"===$o?Gu:Ps,y="ALLOWED_TAGS"in D?J({},D.ALLOWED_TAGS,Ie):L,k="ALLOWED_ATTR"in D?J({},D.ALLOWED_ATTR,Ie):H,Go="ALLOWED_NAMESPACES"in D?J({},D.ALLOWED_NAMESPACES,Gu):l8,B="ADD_URI_SAFE_ATTR"in D?J(Yn(V),D.ADD_URI_SAFE_ATTR,Ie):V,qr="ADD_DATA_URI_TAGS"in D?J(Yn(Hr),D.ADD_DATA_URI_TAGS,Ie):Hr,Bt="FORBID_CONTENTS"in D?J({},D.FORBID_CONTENTS,Ie):jt,fe="FORBID_TAGS"in D?J({},D.FORBID_TAGS,Ie):{},ce="FORBID_ATTR"in D?J({},D.FORBID_ATTR,Ie):{},oe="USE_PROFILES"in D&&D.USE_PROFILES,se=!1!==D.ALLOW_ARIA_ATTR,le=!1!==D.ALLOW_DATA_ATTR,mt=D.ALLOW_UNKNOWN_PROTOCOLS||!1,Ft=!1!==D.ALLOW_SELF_CLOSE_IN_ATTR,ht=D.SAFE_FOR_TEMPLATES||!1,Ge=D.WHOLE_DOCUMENT||!1,Re=D.RETURN_DOM||!1,ke=D.RETURN_DOM_FRAGMENT||!1,Ce=D.RETURN_TRUSTED_TYPE||!1,te=D.FORCE_BODY||!1,Hs=!1!==D.SANITIZE_DOM,Pr=D.SANITIZE_NAMED_PROPS||!1,Ur=!1!==D.KEEP_CONTENT,De=D.IN_PLACE||!1,T=D.ALLOWED_URI_REGEXP||C1,$e=D.NAMESPACE||ge,j=D.CUSTOM_ELEMENT_HANDLING||{},D.CUSTOM_ELEMENT_HANDLING&&M1(D.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(j.tagNameCheck=D.CUSTOM_ELEMENT_HANDLING.tagNameCheck),D.CUSTOM_ELEMENT_HANDLING&&M1(D.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(j.attributeNameCheck=D.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),D.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof D.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(j.allowCustomizedBuiltInElements=D.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ht&&(le=!1),ke&&(Re=!0),oe&&(y=J({},D1),k=[],!0===oe.html&&(J(y,v1),J(k,y1)),!0===oe.svg&&(J(y,$u),J(k,Wu),J(k,qs)),!0===oe.svgFilters&&(J(y,Zu),J(k,Wu),J(k,qs)),!0===oe.mathMl&&(J(y,ju),J(k,T1),J(k,qs))),D.ADD_TAGS&&(y===L&&(y=Yn(y)),J(y,D.ADD_TAGS,Ie)),D.ADD_ATTR&&(k===H&&(k=Yn(k)),J(k,D.ADD_ATTR,Ie)),D.ADD_URI_SAFE_ATTR&&J(B,D.ADD_URI_SAFE_ATTR,Ie),D.FORBID_CONTENTS&&(Bt===jt&&(Bt=Yn(Bt)),J(Bt,D.FORBID_CONTENTS,Ie)),Ur&&(y["#text"]=!0),Ge&&J(y,["html","head","body"]),y.table&&(J(y,["tbody"]),delete fe.tbody),D.TRUSTED_TYPES_POLICY){if("function"!=typeof D.TRUSTED_TYPES_POLICY.createHTML)throw Vo('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof D.TRUSTED_TYPES_POLICY.createScriptURL)throw Vo('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=D.TRUSTED_TYPES_POLICY,v=E.createHTML("")}else void 0===E&&(E=function(t,n){if("object"!=typeof t||"function"!=typeof t.createPolicy)return null;let r=null;const o="data-tt-policy-suffix";n&&n.hasAttribute(o)&&(r=n.getAttribute(o));const a="dompurify"+(r?"#"+r:"");try{return t.createPolicy(a,{createHTML:s=>s,createScriptURL:s=>s})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}}(m,o)),null!==E&&"string"==typeof v&&(v=E.createHTML(""));Qe&&Qe(D),Vr=D}},F1=J({},["mi","mo","mn","ms","mtext"]),B1=J({},["foreignobject","desc","title","annotation-xml"]),p8=J({},["title","style","font","a","script"]),P1=J({},[...$u,...Zu,...h3]),U1=J({},[...ju,...E3]),Xn=function(D){qo(t.removed,{element:D});try{D.parentNode.removeChild(D)}catch{D.remove()}},Qu=function(D,F){try{qo(t.removed,{attribute:F.getAttributeNode(D),from:F})}catch{qo(t.removed,{attribute:null,from:F})}if(F.removeAttribute(D),"is"===D&&!k[D])if(Re||ke)try{Xn(F)}catch{}else try{F.setAttribute(D,"")}catch{}},q1=function(D){let F=null,z=null;if(te)D=""+D;else{const je=d3(D,/^[\r\n\t ]+/);z=je&&je[0]}"application/xhtml+xml"===$o&&$e===ge&&(D=''+D+"");const me=E?E.createHTML(D):D;if($e===ge)try{F=(new d).parseFromString(me,$o)}catch{}if(!F||!F.documentElement){F=N.createDocument($e,"template",null);try{F.documentElement.innerHTML=zo?v:me}catch{}}const Ze=F.body||F.documentElement;return D&&z&&Ze.insertBefore(n.createTextNode(z),Ze.childNodes[0]||null),$e===ge?R.call(F,Ge?"html":"body")[0]:Ge?F.documentElement:Ze},H1=function(D){return _.call(D.ownerDocument||D,D,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT,null)},V1=function(D){return"function"==typeof i&&D instanceof i},an=function(D,F,z){I[D]&&Bs(I[D],(me=>{me.call(t,F,z,Vr)}))},z1=function(D){let F=null;if(an("beforeSanitizeElements",D,null),function(D){return D instanceof p&&("string"!=typeof D.nodeName||"string"!=typeof D.textContent||"function"!=typeof D.removeChild||!(D.attributes instanceof c)||"function"!=typeof D.removeAttribute||"function"!=typeof D.setAttribute||"string"!=typeof D.namespaceURI||"function"!=typeof D.insertBefore||"function"!=typeof D.hasChildNodes)}(D))return Xn(D),!0;const z=Ie(D.nodeName);if(an("uponSanitizeElement",D,{tagName:z,allowedTags:y}),D.hasChildNodes()&&!V1(D.firstElementChild)&>(/<[/\w]/g,D.innerHTML)&>(/<[/\w]/g,D.textContent))return Xn(D),!0;if(!y[z]||fe[z]){if(!fe[z]&&$1(z)&&(j.tagNameCheck instanceof RegExp&>(j.tagNameCheck,z)||j.tagNameCheck instanceof Function&&j.tagNameCheck(z)))return!1;if(Ur&&!Bt[z]){const me=g(D)||D.parentNode,Ze=h(D)||D.childNodes;if(Ze&&me){for(let at=Ze.length-1;at>=0;--at)me.insertBefore(b(Ze[at],!0),C(D))}}return Xn(D),!0}return D instanceof l&&!function(D){let F=g(D);(!F||!F.tagName)&&(F={namespaceURI:$e,tagName:"template"});const z=Ps(D.tagName),me=Ps(F.tagName);return!!Go[D.namespaceURI]&&(D.namespaceURI===ne?F.namespaceURI===ge?"svg"===z:F.namespaceURI===K?"svg"===z&&("annotation-xml"===me||F1[me]):!!P1[z]:D.namespaceURI===K?F.namespaceURI===ge?"math"===z:F.namespaceURI===ne?"math"===z&&B1[me]:!!U1[z]:D.namespaceURI===ge?!(F.namespaceURI===ne&&!B1[me]||F.namespaceURI===K&&!F1[me])&&!U1[z]&&(p8[z]||!P1[z]):!("application/xhtml+xml"!==$o||!Go[D.namespaceURI]))}(D)||("noscript"===z||"noembed"===z||"noframes"===z)&>(/<\/no(script|embed|frames)/i,D.innerHTML)?(Xn(D),!0):(ht&&3===D.nodeType&&(F=D.textContent,Bs([Q,ie,Y],(me=>{F=Ho(F,me," ")})),D.textContent!==F&&(qo(t.removed,{element:D.cloneNode()}),D.textContent=F)),an("afterSanitizeElements",D,null),!1)},G1=function(D,F,z){if(Hs&&("id"===F||"name"===F)&&(z in n||z in d8))return!1;if((!le||ce[F]||!gt(O,F))&&(!se||!gt(G,F)))if(!k[F]||ce[F]){if(!($1(D)&&(j.tagNameCheck instanceof RegExp&>(j.tagNameCheck,D)||j.tagNameCheck instanceof Function&&j.tagNameCheck(D))&&(j.attributeNameCheck instanceof RegExp&>(j.attributeNameCheck,F)||j.attributeNameCheck instanceof Function&&j.attributeNameCheck(F))||"is"===F&&j.allowCustomizedBuiltInElements&&(j.tagNameCheck instanceof RegExp&>(j.tagNameCheck,z)||j.tagNameCheck instanceof Function&&j.tagNameCheck(z))))return!1}else if(!B[F]&&!gt(T,Ho(z,x,""))&&("src"!==F&&"xlink:href"!==F&&"href"!==F||"script"===D||0!==p3(z,"data:")||!qr[D])&&(!mt||gt(P,Ho(z,x,"")))&&z)return!1;return!0},$1=function(D){return D.indexOf("-")>0},Z1=function(D){an("beforeSanitizeAttributes",D,null);const{attributes:F}=D;if(!F)return;const z={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:k};let me=F.length;for(;me--;){const Ze=F[me],{name:je,namespaceURI:at,value:Qn}=Ze,Zo=Ie(je);let st="value"===je?Qn:f3(Qn);if(z.attrName=Zo,z.attrValue=st,z.keepAttr=!0,z.forceKeepAttr=void 0,an("uponSanitizeAttribute",D,z),st=z.attrValue,z.forceKeepAttr||(Qu(je,D),!z.keepAttr))continue;if(!Ft&>(/\/>/i,st)){Qu(je,D);continue}ht&&Bs([Q,ie,Y],(W1=>{st=Ho(st,W1," ")}));const j1=Ie(D.nodeName);if(G1(j1,Zo,st)){if(Pr&&("id"===Zo||"name"===Zo)&&(Qu(je,D),st="user-content-"+st),E&&"object"==typeof m&&"function"==typeof m.getAttributeType&&!at)switch(m.getAttributeType(j1,Zo)){case"TrustedHTML":st=E.createHTML(st);break;case"TrustedScriptURL":st=E.createScriptURL(st)}try{at?D.setAttributeNS(at,je,st):D.setAttribute(je,st),_1(t.removed)}catch{}}}an("afterSanitizeAttributes",D,null)},m8=function $(D){let F=null;const z=H1(D);for(an("beforeSanitizeShadowDOM",D,null);F=z.nextNode();)an("uponSanitizeShadowNode",F,null),!z1(F)&&(F.content instanceof a&&$(F.content),Z1(F));an("afterSanitizeShadowDOM",D,null)};return t.sanitize=function($){let D=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},F=null,z=null,me=null,Ze=null;if(zo=!$,zo&&($="\x3c!--\x3e"),"string"!=typeof $&&!V1($)){if("function"!=typeof $.toString)throw Vo("toString is not a function");if("string"!=typeof($=$.toString()))throw Vo("dirty is not a string, aborting")}if(!t.isSupported)return $;if(Ct||Xu(D),t.removed=[],"string"==typeof $&&(De=!1),De){if($.nodeName){const Qn=Ie($.nodeName);if(!y[Qn]||fe[Qn])throw Vo("root node is forbidden and cannot be sanitized in-place")}}else if($ instanceof i)F=q1("\x3c!----\x3e"),z=F.ownerDocument.importNode($,!0),1===z.nodeType&&"BODY"===z.nodeName||"HTML"===z.nodeName?F=z:F.appendChild(z);else{if(!Re&&!ht&&!Ge&&-1===$.indexOf("<"))return E&&Ce?E.createHTML($):$;if(F=q1($),!F)return Re?null:Ce?v:""}F&&te&&Xn(F.firstChild);const je=H1(De?$:F);for(;me=je.nextNode();)z1(me)||(me.content instanceof a&&m8(me.content),Z1(me));if(De)return $;if(Re){if(ke)for(Ze=S.call(F.ownerDocument);F.firstChild;)Ze.appendChild(F.firstChild);else Ze=F;return(k.shadowroot||k.shadowrootmode)&&(Ze=q.call(r,Ze,!0)),Ze}let at=Ge?F.outerHTML:F.innerHTML;return Ge&&y["!doctype"]&&F.ownerDocument&&F.ownerDocument.doctype&&F.ownerDocument.doctype.name&>(N1,F.ownerDocument.doctype.name)&&(at="\n"+at),ht&&Bs([Q,ie,Y],(Qn=>{at=Ho(at,Qn," ")})),E&&Ce?E.createHTML(at):at},t.setConfig=function(){Xu(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Ct=!0},t.clearConfig=function(){Vr=null,Ct=!1},t.isValidAttribute=function($,D,F){Vr||Xu({});const z=Ie($),me=Ie(D);return G1(z,me,F)},t.addHook=function($,D){"function"==typeof D&&(I[$]=I[$]||[],qo(I[$],D))},t.removeHook=function($){if(I[$])return _1(I[$])},t.removeHooks=function($){I[$]&&(I[$]=[])},t.removeAllHooks=function(){I={}},t}();function x1(e){return new Date(1e3*e).toLocaleTimeString([],{hour:"numeric",minute:"2-digit",hour12:!0})}const w3=S3(window),x3=Z.forwardRef((({uuid:e=zn(),message:t,role:n,sources:r=[],error:o=!1,sentAt:a},s)=>{const i=Te.settings.textSize?`text-[${Te.settings.textSize}px]`:"text-sm";return w.jsxs("div",{className:"py-[5px]",children:["assistant"===n&&w.jsx("div",{className:"text-[10px] font-medium text-gray-400 ml-[54px] mr-6 mb-2 text-left",children:Te.settings.assistantName||"Anything LLM Chat Assistant"}),w.jsxs("div",{ref:s,className:"flex items-start w-full h-fit "+("user"===n?"justify-end":"justify-start"),children:["assistant"===n&&w.jsx("img",{src:Te.settings.assistantIcon||ko,alt:"Anything LLM Icon",className:"w-9 h-9 flex-shrink-0 ml-2 mt-2",id:"anything-llm-icon"}),w.jsx("div",{style:{wordBreak:"break-word"},className:`py-[11px] px-4 flex flex-col ${o?"bg-red-200 rounded-lg mr-[37px] ml-[9px]":"user"===n?`${Te.USER_STYLES} anything-llm-user-message`:`${Te.ASSISTANT_STYLES} anything-llm-assistant-message`} shadow-[0_4px_14px_rgba(0,0,0,0.25)]`,children:w.jsx("div",{className:"flex",children:o?w.jsxs("div",{className:"p-2 rounded-lg bg-red-50 text-red-500",children:[w.jsxs("span",{className:"inline-block ",children:[w.jsx(ru,{className:"h-4 w-4 mb-1 inline-block"})," Could not respond to message."]}),w.jsx("p",{className:"text-xs font-mono mt-2 border-l-2 border-red-500 pl-2 bg-red-300 p-2 rounded-sm",children:o})]}):w.jsx("span",{className:`whitespace-pre-line font-medium flex flex-col gap-y-1 ${i} leading-[20px]`,dangerouslySetInnerHTML:{__html:w3.sanitize(h1(t))}})})})]},e),a&&w.jsx("div",{className:"text-[10px] font-medium text-gray-400 ml-[54px] mr-6 mt-2 "+("user"===n?"text-right":"text-left"),children:x1(a)})]})})),R3=Z.memo(x3),L3=Z.forwardRef((({uuid:e,reply:t,pending:n,error:r,sources:o=[]},a)=>t||0!==o.length||n||r?n?w.jsxs("div",{className:"flex items-start w-full h-fit justify-start",children:[w.jsx("img",{src:Te.settings.assistantIcon||ko,alt:"Anything LLM Icon",className:"w-9 h-9 flex-shrink-0 ml-2"}),w.jsx("div",{style:{wordBreak:"break-word"},className:`py-[11px] px-4 flex flex-col ${Te.ASSISTANT_STYLES} shadow-[0_4px_14px_rgba(0,0,0,0.25)]`,children:w.jsx("div",{className:"flex gap-x-5",children:w.jsx("div",{className:"mx-4 my-1 dot-falling"})})})]}):r?w.jsxs("div",{className:"flex items-end w-full h-fit justify-start",children:[w.jsx("img",{src:Te.settings.assistantIcon||ko,alt:"Anything LLM Icon",className:"w-9 h-9 flex-shrink-0 ml-2"}),w.jsx("div",{style:{wordBreak:"break-word"},className:"py-[11px] px-4 rounded-lg flex flex-col bg-red-200 shadow-[0_4px_14px_rgba(0,0,0,0.25)] mr-[37px] ml-[9px]",children:w.jsx("div",{className:"flex gap-x-5",children:w.jsxs("span",{className:"inline-block p-2 rounded-lg bg-red-50 text-red-500",children:[w.jsx(ru,{className:"h-4 w-4 mb-1 inline-block"})," Could not respond to message.",w.jsxs("span",{className:"text-xs",children:["Reason: ",r||"unknown"]})]})})})]}):w.jsxs("div",{className:"py-[5px]",children:[w.jsx("div",{className:"text-[10px] font-medium text-gray-400 ml-[54px] mr-6 mb-2 text-left",children:Te.settings.assistantName||"Anything LLM Chat Assistant"}),w.jsxs("div",{ref:a,className:"flex items-start w-full h-fit justify-start",children:[w.jsx("img",{src:Te.settings.assistantIcon||ko,alt:"Anything LLM Icon",className:"w-9 h-9 flex-shrink-0 ml-2"}),w.jsx("div",{style:{wordBreak:"break-word"},className:`py-[11px] px-4 flex flex-col ${r?"bg-red-200":Te.ASSISTANT_STYLES} shadow-[0_4px_14px_rgba(0,0,0,0.25)]`,children:w.jsx("div",{className:"flex gap-x-5",children:w.jsx("span",{className:"reply whitespace-pre-line font-normal text-sm md:text-sm flex flex-col gap-y-1",dangerouslySetInnerHTML:{__html:h1(t)}})})})]},e),w.jsx("div",{className:"text-[10px] font-medium text-gray-400 ml-[54px] mr-6 mt-2 text-left",children:x1(Date.now()/1e3)})]}):null)),O3=Z.memo(L3);var R1=NaN,I3="[object Symbol]",M3=/^\s+|\s+$/g,F3=/^[-+]0x[0-9a-f]+$/i,B3=/^0b[01]+$/i,P3=/^0o[0-7]+$/i,U3=parseInt,q3="object"==typeof Nt&&Nt&&Nt.Object===Object&&Nt,H3="object"==typeof self&&self&&self.Object===Object&&self,V3=q3||H3||Function("return this")(),G3=Object.prototype.toString,$3=Math.max,Z3=Math.min,Yu=function(){return V3.Date.now()};function Ku(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function L1(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&G3.call(e)==I3}(e))return R1;if(Ku(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Ku(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(M3,"");var n=B3.test(e);return n||P3.test(e)?U3(e.slice(2),n?2:8):F3.test(e)?R1:+e}var K3=function(e,t,n){var r,o,a,s,i,l,u=0,c=!1,p=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function m(_){var S=r,R=o;return r=o=void 0,u=_,s=e.apply(R,S)}function C(_){var S=_-l;return void 0===l||S>=t||S<0||p&&_-u>=a}function h(){var _=Yu();if(C(_))return g(_);i=setTimeout(h,function(_){var q=t-(_-l);return p?Z3(q,a-(_-u)):q}(_))}function g(_){return i=void 0,d&&r?m(_):(r=o=void 0,s)}function N(){var _=Yu(),S=C(_);if(r=arguments,o=this,l=_,S){if(void 0===i)return function(_){return u=_,i=setTimeout(h,t),c?m(_):s}(l);if(p)return i=setTimeout(h,t),m(l)}return void 0===i&&(i=setTimeout(h,t)),s}return t=L1(t)||0,Ku(n)&&(c=!!n.leading,a=(p="maxWait"in n)?$3(L1(n.maxWait)||0,t):a,d="trailing"in n?!!n.trailing:d),N.cancel=function(){void 0!==i&&clearTimeout(i),u=0,r=l=o=i=void 0},N.flush=function(){return void 0===i?s:g(Yu())},N};const X3=jo(K3);function Q3({settings:e={},history:t=[]}){const n=Z.useRef(null),[r,o]=Z.useState(!0),a=Z.useRef(null);Z.useEffect((()=>{l()}),[t]);const i=X3((()=>{if(!a.current)return;const c=a.current.scrollHeight-a.current.scrollTop-a.current.clientHeight<=40;o(c)}),100);Z.useEffect((()=>{!function(){if(!a.current)return null;const c=a.current;if(!c)return null;c.addEventListener("scroll",i)}()}),[]);const l=()=>{a.current&&a.current.scrollTo({top:a.current.scrollHeight,behavior:"smooth"})};return 0===t.length?w.jsx("div",{className:"pb-[100px] pt-[5px] rounded-lg px-2 h-full mt-2 gap-y-2 overflow-y-scroll flex flex-col justify-start no-scroll",children:w.jsx("div",{className:"flex h-full flex-col items-center justify-center",children:w.jsx("p",{className:"text-slate-400 text-sm font-base py-4 text-center",children:(null==e?void 0:e.greeting)??"Send a chat to get started."})})}):w.jsxs("div",{className:"pb-[30px] pt-[5px] rounded-lg px-2 h-full gap-y-2 overflow-y-scroll flex flex-col justify-start no-scroll md:max-h-[500px]",id:"chat-history",ref:a,children:[t.map(((u,c)=>{const p=c===t.length-1;return c===t.length-1&&"assistant"===u.role&&u.animate?w.jsx(O3,{ref:p?n:null,uuid:u.uuid,reply:u.content,pending:u.pending,sources:u.sources,error:u.error,closed:u.closed},u.uuid):w.jsx(R3,{ref:p?n:null,message:u.content,sentAt:u.sentAt||Date.now()/1e3,role:u.role,sources:u.sources,chatId:u.chatId,feedbackScore:u.feedbackScore,error:u.error},c)})),!r&&w.jsx("div",{className:"fixed bottom-[10rem] right-[50px] z-50 cursor-pointer animate-pulse",children:w.jsx("div",{className:"flex flex-col items-center",children:w.jsx("div",{className:"p-1 rounded-full border border-white/10 bg-black/20 hover:bg-black/50",children:w.jsx(I2,{weight:"bold",className:"text-white/50 w-5 h-5",onClick:l,id:"scroll-to-bottom-button","aria-label":"Scroll to bottom"})})})})]})}function J3(){return w.jsx("div",{className:"h-full w-full relative",children:w.jsx("div",{className:"h-full max-h-[82vh] pb-[100px] pt-[5px] bg-gray-100 rounded-lg px-2 h-full mt-2 gap-y-2 overflow-y-scroll flex flex-col justify-start no-scroll",children:w.jsx("div",{className:"flex h-full flex-col items-center justify-center",children:w.jsx(nu,{size:14,className:"text-slate-400 animate-spin"})})})})}function e8({message:e,submit:t,onChange:n,inputDisabled:r,buttonDisabled:o}){const a=Z.useRef(null),s=Z.useRef(null),[i,l]=Z.useState(!1);Z.useEffect((()=>{!r&&s.current&&s.current.focus(),c()}),[r]);const c=()=>{s.current&&(s.current.style.height="auto")},d=m=>{const A=m.target;A.style.height="auto",A.style.height=0!==m.target.value.length?A.scrollHeight+"px":"auto"};return w.jsx("div",{className:"w-full sticky bottom-0 z-10 flex justify-center items-center px-5 bg-white",children:w.jsx("form",{onSubmit:m=>{l(!1),t(m)},className:"flex flex-col gap-y-1 rounded-t-lg w-full items-center justify-center",children:w.jsx("div",{className:"flex items-center w-full",children:w.jsx("div",{className:"bg-white border-[1.5px] border-[#22262833]/20 rounded-2xl flex flex-col px-4 overflow-hidden w-full",children:w.jsxs("div",{className:"flex items-center w-full",children:[w.jsx("textarea",{ref:s,onKeyUp:d,onKeyDown:m=>{13==m.keyCode&&(m.shiftKey||t(m))},onChange:n,required:!0,disabled:r,onFocus:()=>l(!0),onBlur:m=>{l(!1),d(m)},value:e,className:"cursor-text max-h-[100px] text-[14px] mx-2 py-2 w-full text-black bg-transparent placeholder:text-slate-800/60 resize-none active:outline-none focus:outline-none flex-grow",placeholder:"Send a message",id:"message-input"}),w.jsxs("button",{ref:a,type:"submit",disabled:o,className:"inline-flex justify-center rounded-2xl cursor-pointer text-black group ml-4",id:"send-message-button","aria-label":"Send message",children:[o?w.jsx(nu,{className:"w-4 h-4 animate-spin"}):w.jsx(pp,{size:24,className:"my-3 text-[#22262899]/60 group-hover:text-[#22262899]/90",weight:"fill"}),w.jsx("span",{className:"sr-only",children:"Send message"})]})]})})})})})}function n8({sessionId:e,settings:t,knownHistory:n=[]}){const[r,o]=Z.useState(""),[a,s]=Z.useState(!1),[i,l]=Z.useState(n);Z.useEffect((()=>{n.length!==i.length&&l([...n])}),[n]);return Z.useEffect((()=>{!0===a&&async function(){const d=i.length>0?i[i.length-1]:null,m=i.length>0?i.slice(0,-1):[];var A=[...m];if(!d||null==d||!d.userMessage)return s(!1),!1;await ds.streamChat(e,t,d.userMessage,(b=>function(e,t,n,r,o){const{uuid:a,textResponse:s,type:i,sources:l=[],error:u,close:c}=e;if("abort"===i)t(!1),n([...r,{uuid:a,content:s,role:"assistant",sources:l,closed:!0,error:u,animate:!1,pending:!1}]),o.push({uuid:a,content:s,role:"assistant",sources:l,closed:!0,error:u,animate:!1,pending:!1});else if("textResponse"===i)t(!1),n([...r,{uuid:a,content:s,role:"assistant",sources:l,closed:c,error:u,animate:!c,pending:!1}]),o.push({uuid:a,content:s,role:"assistant",sources:l,closed:c,error:u,animate:!c,pending:!1});else if("textResponseChunk"===i){const p=o.findIndex((d=>d.uuid===a));if(-1!==p){const d={...o[p]},m={...d,content:d.content+s,sources:l,error:u,closed:c,animate:!c,pending:!1};o[p]=m}else o.push({uuid:a,sources:l,error:u,content:s,role:"assistant",closed:c,animate:!c,pending:!1});n([...o])}}(b,s,l,m,A)))}()}),[a,i]),w.jsxs("div",{className:"h-full w-full flex flex-col",children:[w.jsx("div",{className:"flex-grow overflow-y-auto",children:w.jsx(Q3,{settings:t,history:i})}),w.jsx(e8,{message:r,submit:async p=>{if(p.preventDefault(),!r||""===r)return!1;const d=[...i,{content:r,role:"user"},{content:"",role:"assistant",pending:!0,userMessage:r,animate:!0}];l(d),o(""),s(!0)},onChange:p=>{o(p.target.value)},inputDisabled:a,buttonDisabled:a})]})}function O1({settings:e}){return e.noSponsor?null:w.jsx("div",{className:"flex w-full items-center justify-center",children:w.jsx("a",{href:e.sponsorLink??"#",target:"_blank",rel:"noreferrer",className:"text-xs text-[#0119D9] hover:text-[#0119D9]/80 hover:underline",children:e.sponsorText})})}function r8({setChatHistory:e,settings:t,sessionId:n}){return w.jsx("div",{className:"w-full flex justify-center",children:w.jsx("button",{className:"text-sm text-[#7A7D7E] hover:text-[#7A7D7E]/80 hover:underline",onClick:()=>(async()=>{await ds.resetEmbedChatSession(t,n),e([])})(),children:"Reset Chat"})})}function o8({closeChat:e,settings:t,sessionId:n}){const{chatHistory:r,setChatHistory:o,loading:a}=function(e=null,t=null){const[n,r]=Z.useState(!0),[o,a]=Z.useState([]);return Z.useEffect((()=>{!async function(){if(t&&e)try{const i=await ds.embedSessionHistory(e,t);a(i),r(!1)}catch(i){console.error("Error fetching historical chats:",i),r(!1)}}()}),[t,e]),{chatHistory:o,setChatHistory:a,loading:n}}(t,n);return a?w.jsxs("div",{className:"flex flex-col h-full",children:[w.jsx(yp,{sessionId:n,settings:t,iconUrl:t.brandImageUrl,closeChat:e,setChatHistory:o}),w.jsx(J3,{}),w.jsxs("div",{className:"pt-4 pb-2 h-fit gap-y-1",children:[w.jsx(ub,{}),w.jsx(O1,{settings:t})]})]}):(null==document||document.addEventListener("click",(function(e){var r;const t=e.target.closest("[data-code-snippet]"),n=null==(r=null==t?void 0:t.dataset)?void 0:r.code;if(!n)return!1;!function(e){var o,a,s;const t=document.querySelector(`[data-code="${e}"]`);if(!t)return!1;const n=null==(s=null==(a=null==(o=t.parentElement)?void 0:o.parentElement)?void 0:a.querySelector("pre:first-of-type"))?void 0:s.innerText;if(!n)return!1;window.navigator.clipboard.writeText(n),t.classList.add("text-green-500");const r=t.innerHTML;t.innerText="Copied!",t.setAttribute("disabled",!0),setTimeout((()=>{t.classList.remove("text-green-500"),t.innerHTML=r,t.removeAttribute("disabled")}),2500)}(n)})),w.jsxs("div",{className:"flex flex-col h-full",children:[w.jsx(yp,{sessionId:n,settings:t,iconUrl:t.brandImageUrl,closeChat:e,setChatHistory:o}),w.jsx("div",{className:"flex-grow overflow-y-auto",children:w.jsx(n8,{sessionId:n,settings:t,knownHistory:r})}),w.jsxs("div",{className:"mt-4 pb-4 h-fit gap-y-2 z-10",children:[w.jsx(O1,{settings:t}),w.jsx(r8,{setChatHistory:o,settings:t,sessionId:n})]})]}))}const k1=document.createElement("div");document.body.appendChild(k1),js.createRoot(k1).render(w.jsx(f.StrictMode,{children:w.jsx((function(){const{isChatOpen:e,toggleOpenChat:t}=function(){var r;const[e,t]=Z.useState(!(null==(r=null==window?void 0:window.localStorage)||!r.getItem(tu))||!1);return{isChatOpen:e,toggleOpenChat:function(o){!0===o&&window.localStorage.setItem(tu,"1"),!1===o&&window.localStorage.removeItem(tu),t(o)}}}(),n=function(){const[e,t]=Z.useState({loaded:!1,...v2});return Z.useEffect((()=>{!function(){if(!document)return!1;if(!Te.settings.baseApiUrl||!Te.settings.embedId)throw new Error("[AnythingLLM Embed Module::Abort] - Invalid script tag setup detected. Missing required parameters for boot!");t({...v2,...Te.settings,loaded:!0})}()}),[document]),e}(),r=y2();if(Z.useEffect((()=>{"on"===n.openOnLoad&&t(!0)}),[n.loaded]),!n.loaded)return null;const o={"bottom-left":"bottom-0 left-0 ml-4","bottom-right":"bottom-0 right-0 mr-4","top-left":"top-0 left-0 ml-4 mt-4","top-right":"top-0 right-0 mr-4 mt-4"},a=n.position||"bottom-right",s=n.windowWidth?`md:max-w-[${n.windowWidth}]`:"md:max-w-[400px]",i=n.windowHeight?`md:max-h-[${n.windowHeight}]`:"md:max-h-[700px]";return w.jsxs(w.Fragment,{children:[w.jsx(wh,{}),w.jsx("div",{className:"fixed inset-0 z-50 "+(e?"block":"hidden"),children:w.jsx("div",{className:`${i} ${s} h-full w-full bg-white md:fixed md:bottom-0 md:right-0 md:mb-4 md:mr-4 md:rounded-2xl md:border md:border-gray-300 md:shadow-[0_4px_14px_rgba(0,0,0,0.25)] ${o[a]}`,id:"anything-llm-chat",children:e&&w.jsx(o8,{closeChat:()=>t(!1),settings:n,sessionId:r})})}),!e&&w.jsx("div",{className:`fixed bottom-0 ${o[a]} mb-4 z-50`,children:w.jsx(XA,{settings:n,isOpen:e,toggleOpen:()=>t(!0)})})]})}),{})}));const Kn=Object.assign({},(null==(I1=null==document?void 0:document.currentScript)?void 0:I1.dataset)||{}),Te={settings:Kn,USER_STYLES:`bg-[${(null==Kn?void 0:Kn.userBgColor)??"#3DBEF5"}] text-white rounded-t-[18px] rounded-bl-[18px] rounded-br-[4px] mx-[20px]`,ASSISTANT_STYLES:`bg-[${(null==Kn?void 0:Kn.assistantBgColor)??"#FFFFFF"}] text-[#222628] rounded-t-[18px] rounded-br-[18px] rounded-bl-[4px] mr-[37px] ml-[9px]`};Jn.embedderSettings=Te,Object.defineProperty(Jn,Symbol.toStringTag,{value:"Module"})})),(()=>{var h,Ob,re,du,xb=Object.create,li=Object.defineProperty,kb=Object.getOwnPropertyDescriptor,Sb=Object.getOwnPropertyNames,Cb=Object.getPrototypeOf,Ab=Object.prototype.hasOwnProperty,uu=i=>li(i,"__esModule",{value:!0}),fu=i=>{if("undefined"!=typeof require)return require(i);throw new Error('Dynamic require of "'+i+'" is not supported')},C=(i,e)=>()=>(i&&(e=i(i=0)),e),v=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),Ae=(i,e)=>{for(var t in uu(i),e)li(i,t,{get:e[t],enumerable:!0})},K=i=>((i,e,t)=>{if(e&&"object"==typeof e||"function"==typeof e)for(let r of Sb(e))!Ab.call(i,r)&&"default"!==r&&li(i,r,{get:()=>e[r],enumerable:!(t=kb(e,r))||t.enumerable});return i})(uu(li(null!=i?xb(Cb(i)):{},"default",i&&i.__esModule&&"default"in i?{get:()=>i.default,enumerable:!0}:{value:i,enumerable:!0})),i),l=C((()=>{h={platform:"",env:{},versions:{node:"14.17.6"}}})),je=C((()=>{l(),Ob=0,re={readFileSync:i=>self[i]||"",statSync:()=>({mtimeMs:Ob++}),promises:{readFile:i=>Promise.resolve(self[i]||"")}}})),Qn=v(((XO,pu)=>{l();var cu=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if("number"==typeof e.maxAge&&0===e.maxAge)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=e.maxSize,this.maxAge=e.maxAge||1/0,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(e){if("function"==typeof this.onEviction)for(let[t,r]of e)this.onEviction(t,r.value)}_deleteIfExpired(e,t){return"number"==typeof t.expiry&&t.expiry<=Date.now()&&("function"==typeof this.onEviction&&this.onEviction(e,t.value),this.delete(e))}_getOrDeleteIfExpired(e,t){if(!1===this._deleteIfExpired(e,t))return t.value}_getItemValue(e,t){return t.expiry?this._getOrDeleteIfExpired(e,t):t.value}_peek(e,t){let r=t.get(e);return this._getItemValue(e,r)}_set(e,t){this.cache.set(e,t),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(e,t){this.oldCache.delete(e),this._set(e,t)}*_entriesAscending(){for(let e of this.oldCache){let[t,r]=e;this.cache.has(t)||!1===this._deleteIfExpired(t,r)&&(yield e)}for(let e of this.cache){let[t,r]=e;!1===this._deleteIfExpired(t,r)&&(yield e)}}get(e){if(this.cache.has(e)){let t=this.cache.get(e);return this._getItemValue(e,t)}if(this.oldCache.has(e)){let t=this.oldCache.get(e);if(!1===this._deleteIfExpired(e,t))return this._moveToRecent(e,t),t.value}}set(e,t,{maxAge:r=(this.maxAge===1/0?void 0:Date.now()+this.maxAge)}={}){this.cache.has(e)?this.cache.set(e,{value:t,maxAge:r}):this._set(e,{value:t,expiry:r})}has(e){return this.cache.has(e)?!this._deleteIfExpired(e,this.cache.get(e)):!!this.oldCache.has(e)&&!this._deleteIfExpired(e,this.oldCache.get(e))}peek(e){return this.cache.has(e)?this._peek(e,this.cache):this.oldCache.has(e)?this._peek(e,this.oldCache):void 0}delete(e){let t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(e){if(!(e&&e>0))throw new TypeError("`maxSize` must be a number greater than 0");let t=[...this._entriesAscending()],r=t.length-e;r<0?(this.cache=new Map(t),this.oldCache=new Map,this._size=t.length):(r>0&&this._emitEvictions(t.slice(0,r)),this.oldCache=new Map(t.slice(r)),this.cache=new Map,this._size=0),this.maxSize=e}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache){let[t,r]=e;!1===this._deleteIfExpired(t,r)&&(yield[t,r.value])}for(let e of this.oldCache){let[t,r]=e;this.cache.has(t)||!1===this._deleteIfExpired(t,r)&&(yield[t,r.value])}}*entriesDescending(){let e=[...this.cache];for(let t=e.length-1;t>=0;--t){let r=e[t],[n,a]=r;!1===this._deleteIfExpired(n,a)&&(yield[n,a.value])}e=[...this.oldCache];for(let t=e.length-1;t>=0;--t){let r=e[t],[n,a]=r;this.cache.has(n)||!1===this._deleteIfExpired(n,a)&&(yield[n,a.value])}}*entriesAscending(){for(let[e,t]of this._entriesAscending())yield[e,t.value]}get size(){if(!this._size)return this.oldCache.size;let e=0;for(let t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}};pu.exports=cu})),hu=C((()=>{l(),du=i=>i&&i._hash}));function ui(i){return du(i,{ignoreUnknown:!0})}var mu=C((()=>{l(),hu()}));function Xe(i){if("0"===(i=`${i}`))return"0";if(/^[+-]?(\d+|\d*\.\d+)(e[+-]?\d+)?(%|\w+)?$/.test(i))return i.replace(/^[+-]?/,(t=>"-"===t?"":"-"));let e=["var","calc","min","max","clamp"];for(let t of e)if(i.includes(`${t}(`))return`calc(${i} * -1)`}var gu,fi=C((()=>{l()})),yu=C((()=>{l(),gu=["preflight","container","accessibility","pointerEvents","visibility","position","inset","isolation","zIndex","order","gridColumn","gridColumnStart","gridColumnEnd","gridRow","gridRowStart","gridRowEnd","float","clear","margin","boxSizing","lineClamp","display","aspectRatio","size","height","maxHeight","minHeight","width","minWidth","maxWidth","flex","flexShrink","flexGrow","flexBasis","tableLayout","captionSide","borderCollapse","borderSpacing","transformOrigin","translate","rotate","skew","scale","transform","animation","cursor","touchAction","userSelect","resize","scrollSnapType","scrollSnapAlign","scrollSnapStop","scrollMargin","scrollPadding","listStylePosition","listStyleType","listStyleImage","appearance","columns","breakBefore","breakInside","breakAfter","gridAutoColumns","gridAutoFlow","gridAutoRows","gridTemplateColumns","gridTemplateRows","flexDirection","flexWrap","placeContent","placeItems","alignContent","alignItems","justifyContent","justifyItems","gap","space","divideWidth","divideStyle","divideColor","divideOpacity","placeSelf","alignSelf","justifySelf","overflow","overscrollBehavior","scrollBehavior","textOverflow","hyphens","whitespace","textWrap","wordBreak","borderRadius","borderWidth","borderStyle","borderColor","borderOpacity","backgroundColor","backgroundOpacity","backgroundImage","gradientColorStops","boxDecorationBreak","backgroundSize","backgroundAttachment","backgroundClip","backgroundPosition","backgroundRepeat","backgroundOrigin","fill","stroke","strokeWidth","objectFit","objectPosition","padding","textAlign","textIndent","verticalAlign","fontFamily","fontSize","fontWeight","textTransform","fontStyle","fontVariantNumeric","lineHeight","letterSpacing","textColor","textOpacity","textDecoration","textDecorationColor","textDecorationStyle","textDecorationThickness","textUnderlineOffset","fontSmoothing","placeholderColor","placeholderOpacity","caretColor","accentColor","opacity","backgroundBlendMode","mixBlendMode","boxShadow","boxShadowColor","outlineStyle","outlineWidth","outlineOffset","outlineColor","ringWidth","ringColor","ringOpacity","ringOffsetWidth","ringOffsetColor","blur","brightness","contrast","dropShadow","grayscale","hueRotate","invert","saturate","sepia","filter","backdropBlur","backdropBrightness","backdropContrast","backdropGrayscale","backdropHueRotate","backdropInvert","backdropOpacity","backdropSaturate","backdropSepia","backdropFilter","transitionProperty","transitionDelay","transitionDuration","transitionTimingFunction","willChange","content","forcedColorAdjust"]}));var bu=C((()=>{l()})),vu={};Ae(vu,{default:()=>_e});var _e,ci=C((()=>{l(),_e=new Proxy({},{get:()=>String})}));function Jn(i,e,t){void 0!==h&&h.env.JEST_WORKER_ID||t&&xu.has(t)||(t&&xu.add(t),console.warn(""),e.forEach((r=>console.warn(i,"-",r))))}function Xn(i){return _e.dim(i)}var xu,F,Oe=C((()=>{l(),ci(),xu=new Set,F={info(i,e){Jn(_e.bold(_e.cyan("info")),...Array.isArray(i)?[i]:[e,i])},warn(i,e){["content-problems"].includes(i)||Jn(_e.bold(_e.yellow("warn")),...Array.isArray(i)?[i]:[e,i])},risk(i,e){Jn(_e.bold(_e.magenta("risk")),...Array.isArray(i)?[i]:[e,i])}}})),ku={};function sr({version:i,from:e,to:t}){F.warn(`${e}-color-renamed`,[`As of Tailwind CSS ${i}, \`${e}\` has been renamed to \`${t}\`.`,"Update your configuration file to silence this warning."])}Ae(ku,{default:()=>Kn});var Kn,Zn=C((()=>{l(),Oe(),Kn={inherit:"inherit",current:"currentColor",transparent:"transparent",black:"#000",white:"#fff",slate:{50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a",950:"#020617"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827",950:"#030712"},zinc:{50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"},neutral:{50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717",950:"#0a0a0a"},stone:{50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917",950:"#0c0a09"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12",950:"#431407"},amber:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12",950:"#422006"},lime:{50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314",950:"#1a2e05"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"},emerald:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b",950:"#022c22"},teal:{50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a",950:"#042f2e"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"},violet:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87",950:"#3b0764"},fuchsia:{50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75",950:"#4a044e"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843",950:"#500724"},rose:{50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"},get lightBlue(){return sr({version:"v2.2",from:"lightBlue",to:"sky"}),this.sky},get warmGray(){return sr({version:"v3.0",from:"warmGray",to:"stone"}),this.stone},get trueGray(){return sr({version:"v3.0",from:"trueGray",to:"neutral"}),this.neutral},get coolGray(){return sr({version:"v3.0",from:"coolGray",to:"gray"}),this.gray},get blueGray(){return sr({version:"v3.0",from:"blueGray",to:"slate"}),this.slate}}}));function es(i,...e){for(let t of e){for(let r in t)i?.hasOwnProperty?.(r)||(i[r]=t[r]);for(let r of Object.getOwnPropertySymbols(t))i?.hasOwnProperty?.(r)||(i[r]=t[r])}return i}var Su=C((()=>{l()}));function Ke(i){if(Array.isArray(i))return i;if(i.split("[").length-1!==i.split("]").length-1)throw new Error(`Path is invalid. Has unbalanced brackets: ${i}`);return i.split(/\.(?![^\[]*\])|[\[\]]/g).filter(Boolean)}var pi=C((()=>{l()}));function Z(i,e){return di.future.includes(e)?"all"===i.future||(i?.future?.[e]??Cu[e]??!1):!!di.experimental.includes(e)&&("all"===i.experimental||(i?.experimental?.[e]??Cu[e]??!1))}function Au(i){return"all"===i.experimental?di.experimental:Object.keys(i?.experimental??{}).filter((e=>di.experimental.includes(e)&&i.experimental[e]))}var Cu,di,ze=C((()=>{l(),ci(),Oe(),Cu={optimizeUniversalDefaults:!1,generalizedModifiers:!0,get disableColorOpacityUtilitiesByDefault(){return!1},get relativeContentPathsByDefault(){return!1}},di={future:["hoverOnlyWhenSupported","respectDefaultRingColorOpacity","disableColorOpacityUtilitiesByDefault","relativeContentPathsByDefault"],experimental:["optimizeUniversalDefaults","generalizedModifiers"]}}));var Eu=C((()=>{l(),ze(),Oe()}));function ne(i){if("[object Object]"!==Object.prototype.toString.call(i))return!1;let e=Object.getPrototypeOf(i);return null===e||null===Object.getPrototypeOf(e)}var kt=C((()=>{l()}));function Ze(i){return Array.isArray(i)?i.map((e=>Ze(e))):"object"==typeof i&&null!==i?Object.fromEntries(Object.entries(i).map((([e,t])=>[e,Ze(t)]))):i}var hi=C((()=>{l()}));function mt(i){return i.replace(/\\,/g,"\\2c ")}var ts,mi=C((()=>{l()})),Tu=C((()=>{l(),ts={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}}));function ar(i,{loose:e=!1}={}){if("string"!=typeof i)return null;if("transparent"===(i=i.trim()))return{mode:"rgb",color:["0","0","0"],alpha:"0"};if(i in ts)return{mode:"rgb",color:ts[i].map((a=>a.toString()))};let t=i.replace(Tb,((a,s,o,u,c)=>["#",s,s,o,o,u,u,c?c+c:""].join(""))).match(Eb);if(null!==t)return{mode:"rgb",color:[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)].map((a=>a.toString())),alpha:t[4]?(parseInt(t[4],16)/255).toString():void 0};let r=i.match(Pb)??i.match(Db);if(null===r)return null;let n=[r[2],r[3],r[4]].filter(Boolean).map((a=>a.toString()));return 2===n.length&&n[0].startsWith("var(")?{mode:r[1],color:[n[0]],alpha:n[1]}:!e&&3!==n.length||n.length<3&&!n.some((a=>/^var\(.*?\)$/.test(a)))?null:{mode:r[1],color:n,alpha:r[5]?.toString?.()}}function rs({mode:i,color:e,alpha:t}){let r=void 0!==t;return"rgba"===i||"hsla"===i?`${i}(${e.join(", ")}${r?`, ${t}`:""})`:`${i}(${e.join(" ")}${r?` / ${t}`:""})`}var Eb,Tb,et,gi,Pu,tt,Pb,Db,is=C((()=>{l(),Tu(),Eb=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i,Tb=/^#([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,et=/(?:\d+|\d*\.\d+)%?/,gi=/(?:\s*,\s*|\s+)/,Pu=/\s*[,/]\s*/,tt=/var\(--(?:[^ )]*?)(?:,(?:[^ )]*?|var\(--[^ )]*?\)))?\)/,Pb=new RegExp(`^(rgba?)\\(\\s*(${et.source}|${tt.source})(?:${gi.source}(${et.source}|${tt.source}))?(?:${gi.source}(${et.source}|${tt.source}))?(?:${Pu.source}(${et.source}|${tt.source}))?\\s*\\)$`),Db=new RegExp(`^(hsla?)\\(\\s*((?:${et.source})(?:deg|rad|grad|turn)?|${tt.source})(?:${gi.source}(${et.source}|${tt.source}))?(?:${gi.source}(${et.source}|${tt.source}))?(?:${Pu.source}(${et.source}|${tt.source}))?\\s*\\)$`)}));function De(i,e,t){if("function"==typeof i)return i({opacityValue:e});let r=ar(i,{loose:!0});return null===r?t:rs({...r,alpha:e})}function ae({color:i,property:e,variable:t}){let r=[].concat(e);if("function"==typeof i)return{[t]:"1",...Object.fromEntries(r.map((a=>[a,i({opacityVariable:t,opacityValue:`var(${t})`})])))};let n=ar(i);return null===n||void 0!==n.alpha?Object.fromEntries(r.map((a=>[a,i]))):{[t]:"1",...Object.fromEntries(r.map((a=>[a,rs({...n,alpha:`var(${t})`})])))}}var or=C((()=>{l(),is()}));function oe(i,e){let t=[],r=[],n=0,a=!1;for(let s=0;s{l()}));function yi(i){return oe(i,",").map((t=>{let r=t.trim(),n={raw:r},a=r.split(qb),s=new Set;for(let o of a)Du.lastIndex=0,!s.has("KEYWORD")&&Ib.has(o)?(n.keyword=o,s.add("KEYWORD")):Du.test(o)?s.has("X")?s.has("Y")?s.has("BLUR")?s.has("SPREAD")||(n.spread=o,s.add("SPREAD")):(n.blur=o,s.add("BLUR")):(n.y=o,s.add("Y")):(n.x=o,s.add("X")):n.color?(n.unknown||(n.unknown=[]),n.unknown.push(o)):n.color=o;return n.valid=void 0!==n.x&&void 0!==n.y,n}))}function Iu(i){return i.map((e=>e.valid?[e.keyword,e.x,e.y,e.blur,e.spread,e.color].filter(Boolean).join(" "):e.raw)).join(", ")}var Ib,qb,Du,ns=C((()=>{l(),St(),Ib=new Set(["inset","inherit","initial","revert","unset"]),qb=/\ +(?![^(]*\))/g,Du=/^-?(\d+|\.\d+)(.*?)$/g}));function ss(i){return Rb.some((e=>new RegExp(`^${e}\\(.*\\)`).test(i)))}function N(i,e=null,t=!0){let r=e&&Mb.has(e.property);return i.startsWith("--")&&!r?`var(${i})`:i.includes("url(")?i.split(/(url\(.*?\))/g).filter(Boolean).map((n=>/^url\(.*?\)$/.test(n)?n:N(n,e,!1))).join(""):(i=i.replace(/([^\\])_+/g,((n,a)=>a+" ".repeat(n.length-1))).replace(/^_/g," ").replace(/\\_/g,"_"),t&&(i=i.trim()),i=function(i){let e=["theme"],t=["min-content","max-content","fit-content","safe-area-inset-top","safe-area-inset-right","safe-area-inset-bottom","safe-area-inset-left","titlebar-area-x","titlebar-area-y","titlebar-area-width","titlebar-area-height","keyboard-inset-top","keyboard-inset-right","keyboard-inset-bottom","keyboard-inset-left","keyboard-inset-width","keyboard-inset-height","radial-gradient","linear-gradient","conic-gradient","repeating-radial-gradient","repeating-linear-gradient","repeating-conic-gradient"];return i.replace(/(calc|min|max|clamp)\(.+\)/g,(r=>{let n="";function a(){let s=n.trimEnd();return s[s.length-1]}for(let s=0;sr[s+p]===d))},u=function(f){let d=1/0;for(let m of f){let w=r.indexOf(m,s);-1!==w&&wo(f)))){let f=t.find((d=>o(d)));n+=f,s+=f.length-1}else e.some((f=>o(f)))?n+=u([")"]):o("[")?n+=u(["]"]):["+","-","*","/"].includes(c)&&!["(","+","-","*","/",","].includes(a())?n+=` ${c} `:n+=c}return n.replace(/\s+/g," ")}))}(i),i)}function as(i){return i.startsWith("url(")}function os(i){return!isNaN(Number(i))||ss(i)}function lr(i){return i.endsWith("%")&&os(i.slice(0,-1))||ss(i)}function ur(i){return"0"===i||new RegExp(`^[+-]?[0-9]*.?[0-9]+(?:[eE][+-]?[0-9]+)?${Nb}$`).test(i)||ss(i)}function qu(i){return Lb.has(i)}function Ru(i){let e=yi(N(i));for(let t of e)if(!t.valid)return!1;return!0}function Mu(i){let e=0;return!!oe(i,"_").every((r=>!!(r=N(r)).startsWith("var(")||null!==ar(r,{loose:!0})&&(e++,!0)))&&e>0}function Bu(i){let e=0;return!!oe(i,",").every((r=>!!(r=N(r)).startsWith("var(")||!!(as(r)||function(i){i=N(i);for(let e of $b)if(i.startsWith(`${e}(`))return!0;return!1}(r)||["element(","image(","cross-fade(","image-set("].some((n=>r.startsWith(n))))&&(e++,!0)))&&e>0}function Fu(i){let e=0;return!!oe(i,"_").every((r=>!!(r=N(r)).startsWith("var(")||!!(zb.has(r)||ur(r)||lr(r))&&(e++,!0)))&&e>0}function Nu(i){let e=0;return!!oe(i,",").every((r=>!!(r=N(r)).startsWith("var(")||!(r.includes(" ")&&!/(['"])([^"']+)\1/g.test(r)||/^\d/g.test(r))&&(e++,!0)))&&e>0}function Lu(i){return Vb.has(i)}function $u(i){return Ub.has(i)}function ju(i){return Wb.has(i)}var Rb,Mb,Nb,Lb,$b,zb,Vb,Ub,Wb,fr=C((()=>{l(),is(),ns(),St(),Rb=["min","max","clamp","calc"],Mb=new Set(["scroll-timeline-name","timeline-scope","view-timeline-name","font-palette","scroll-timeline","animation-timeline","view-timeline"]),Nb=`(?:${["cm","mm","Q","in","pc","pt","px","em","ex","ch","rem","lh","rlh","vw","vh","vmin","vmax","vb","vi","svw","svh","lvw","lvh","dvw","dvh","cqw","cqh","cqi","cqb","cqmin","cqmax"].join("|")})`,Lb=new Set(["thin","medium","thick"]),$b=new Set(["conic-gradient","linear-gradient","radial-gradient","repeating-conic-gradient","repeating-linear-gradient","repeating-radial-gradient"]),zb=new Set(["center","top","right","bottom","left"]),Vb=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","math","emoji","fangsong"]),Ub=new Set(["xx-small","x-small","small","medium","large","x-large","x-large","xxx-large"]),Wb=new Set(["larger","smaller"])}));function zu(i){let e=["cover","contain"];return oe(i,",").every((t=>{let r=oe(t,"_").filter(Boolean);return!(1!==r.length||!e.includes(r[0]))||(1===r.length||2===r.length)&&r.every((n=>ur(n)||lr(n)||"auto"===n))}))}var Vu=C((()=>{l(),fr(),St()}));function Uu(i,e){i.walkClasses((t=>{t.value=e(t.value),t.raws&&t.raws.value&&(t.raws.value=mt(t.raws.value))}))}function Wu(i,e){if(!rt(i))return;let t=i.slice(1,-1);return e(t)?N(t):void 0}function wi(i,e={},{validate:t=(()=>!0)}={}){let r=e.values?.[i];return void 0!==r?r:e.supportsNegativeValues&&i.startsWith("-")?function(i,e={},t){let r=e[i];if(void 0!==r)return Xe(r);if(rt(i)){let n=Wu(i,t);return void 0===n?void 0:Xe(n)}}(i.slice(1),e.values,t):Wu(i,t)}function rt(i){return i.startsWith("[")&&i.endsWith("]")}function Gu(i){let e=i.lastIndexOf("/"),t=i.lastIndexOf("[",e),r=i.indexOf("]",e);return"]"===i[e-1]||"["===i[e+1]||-1!==t&&-1!==r&&t")){let e=i;return({opacityValue:t=1})=>e.replace("",t)}return i}function Hu(i){return N(i.slice(1,-1))}function Hb(i,e={},{tailwindConfig:t={}}={}){if(void 0!==e.values?.[i])return Ct(e.values?.[i]);let[r,n]=Gu(i);if(void 0!==n){let a=e.values?.[r]??(rt(r)?r.slice(1,-1):void 0);return void 0===a?void 0:(a=Ct(a),rt(n)?De(a,Hu(n)):void 0===t.theme?.opacity?.[n]?void 0:De(a,t.theme.opacity[n]))}return wi(i,e,{validate:Mu})}function Yb(i,e={}){return e.values?.[i]}function me(i){return(e,t)=>wi(e,t,{validate:i})}function us(i,e,t,r){if(t.values&&e in t.values)for(let{type:a}of i??[]){let s=ls[a](e,t,{tailwindConfig:r});if(void 0!==s)return[s,a,null]}if(rt(e)){let a=e.slice(1,-1),[s,o]=function(i,e){let t=i.indexOf(e);return-1===t?[void 0,i]:[i.slice(0,t),i.slice(t+1)]}(a,":");if(/^[\w-_]+$/g.test(s)){if(void 0!==s&&!Yu.includes(s))return[]}else o=a;if(o.length>0&&Yu.includes(s))return[wi(`[${o}]`,t),s,null]}let n=fs(i,e,t,r);for(let a of n)return a;return[]}function*fs(i,e,t,r){let n=Z(r,"generalizedModifiers"),[a,s]=Gu(e);if(n&&null!=t.modifiers&&("any"===t.modifiers||"object"==typeof t.modifiers&&(s&&rt(s)||s in t.modifiers))||(a=e,s=void 0),void 0!==s&&""===a&&(a="DEFAULT"),void 0!==s&&"object"==typeof t.modifiers){let u=t.modifiers?.[s]??null;null!==u?s=u:rt(s)&&(s=Hu(s))}for(let{type:u}of i??[]){let c=ls[u](a,t,{tailwindConfig:r});void 0!==c&&(yield[c,u,s??null])}}var ls,Yu,cr=C((()=>{l(),mi(),or(),fr(),fi(),Vu(),ze(),ls={any:wi,color:Hb,url:me(as),image:me(Bu),length:me(ur),percentage:me(lr),position:me(Fu),lookup:Yb,"generic-name":me(Lu),"family-name":me(Nu),number:me(os),"line-width":me(qu),"absolute-size":me($u),"relative-size":me(ju),shadow:me(Ru),size:me(zu)},Yu=Object.keys(ls)}));function L(i){return"function"==typeof i?i({}):i}var cs=C((()=>{l()}));function At(i){return"function"==typeof i}function pr(i,...e){let t=e.pop();for(let r of e)for(let n in r){let a=t(i[n],r[n]);void 0===a?ne(i[n])&&ne(r[n])?i[n]=pr({},i[n],r[n],t):i[n]=r[n]:i[n]=a}return i}function Xb(i){return i.reduce(((e,{extend:t})=>pr(e,t,((r,n)=>void 0===r?[n]:Array.isArray(r)?[n,...r]:[n,r]))),{})}function Kb(i){return{...i.reduce(((e,t)=>es(e,t)),{}),extend:Xb(i)}}function Qu(i,e){return Array.isArray(i)&&ne(i[0])?i.concat(e):Array.isArray(e)&&ne(e[0])&&ne(i)?[i,...e]:Array.isArray(e)?e:void 0}function Zb({extend:i,...e}){return pr(e,i,((t,r)=>At(t)||r.some(At)?(n,a)=>pr({},...[t,...r].map((s=>function(i,...e){return At(i)?i(...e):i}(s,n,a))),Qu):pr({},t,...r,Qu)))}function t0(i){let e=(t,r)=>{for(let n of function*(i){let e=Ke(i);if(0===e.length||(yield e,Array.isArray(i)))return;let r=i.match(/^(.*?)\s*\/\s*([^/]+)$/);if(null!==r){let[,n,a]=r,s=Ke(n);s.alpha=a,yield s}}(t)){let a=0,s=i;for(;null!=s&&a(t[r]=At(i[r])?i[r](e,ps):i[r],t)),{})}function Ju(i){let e=[];return i.forEach((t=>{e=[...e,t];let r=t?.plugins??[];0!==r.length&&r.forEach((n=>{n.__isOptionsFunction&&(n=n()),e=[...e,...Ju([n?.config??{}])]}))})),e}function r0(i){return[...i].reduceRight(((t,r)=>At(r)?r({corePlugins:t}):function(i,e){return void 0===i?e:Array.isArray(i)?i:[...new Set(e.filter((r=>!1!==i&&!1!==i[r])).concat(Object.keys(i).filter((r=>!1!==i[r]))))]}(r,t)),gu)}function i0(i){return[...i].reduceRight(((t,r)=>[...t,...r]),[])}function ds(i){let e=[...Ju(i),{prefix:"",important:!1,separator:":"}];return function(i){(()=>{if(i.purge||!i.content||!Array.isArray(i.content)&&("object"!=typeof i.content||null===i.content))return!1;if(Array.isArray(i.content))return i.content.every((t=>"string"==typeof t||!("string"!=typeof t?.raw||t?.extension&&"string"!=typeof t?.extension)));if("object"==typeof i.content&&null!==i.content){if(Object.keys(i.content).some((t=>!["files","relative","extract","transform"].includes(t))))return!1;if(Array.isArray(i.content.files)){if(!i.content.files.every((t=>"string"==typeof t||!("string"!=typeof t?.raw||t?.extension&&"string"!=typeof t?.extension))))return!1;if("object"==typeof i.content.extract){for(let t of Object.values(i.content.extract))if("function"!=typeof t)return!1}else if(void 0!==i.content.extract&&"function"!=typeof i.content.extract)return!1;if("object"==typeof i.content.transform){for(let t of Object.values(i.content.transform))if("function"!=typeof t)return!1}else if(void 0!==i.content.transform&&"function"!=typeof i.content.transform)return!1;if("boolean"!=typeof i.content.relative&&void 0!==i.content.relative)return!1}return!0}return!1})()||F.warn("purge-deprecation",["The `purge`/`content` options have changed in Tailwind CSS v3.0.","Update your configuration file to eliminate this warning.","https://tailwindcss.com/docs/upgrade-guide#configure-content-sources"]),i.safelist=(()=>{let{content:t,purge:r,safelist:n}=i;return Array.isArray(n)?n:Array.isArray(t?.safelist)?t.safelist:Array.isArray(r?.safelist)?r.safelist:Array.isArray(r?.options?.safelist)?r.options.safelist:[]})(),i.blocklist=(()=>{let{blocklist:t}=i;if(Array.isArray(t)){if(t.every((r=>"string"==typeof r)))return t;F.warn("blocklist-invalid",["The `blocklist` option must be an array of strings.","https://tailwindcss.com/docs/content-configuration#discarding-classes"])}return[]})(),"function"==typeof i.prefix?(F.warn("prefix-function",["As of Tailwind CSS v3.0, `prefix` cannot be a function.","Update `prefix` in your configuration to be a string to eliminate this warning.","https://tailwindcss.com/docs/upgrade-guide#prefix-cannot-be-a-function"]),i.prefix=""):i.prefix=i.prefix??"",i.content={relative:(()=>{let{content:t}=i;return t?.relative?t.relative:Z(i,"relativeContentPathsByDefault")})(),files:(()=>{let{content:t,purge:r}=i;return Array.isArray(r)?r:Array.isArray(r?.content)?r.content:Array.isArray(t)?t:Array.isArray(t?.content)?t.content:Array.isArray(t?.files)?t.files:[]})(),extract:(()=>{let t=i.purge?.extract?i.purge.extract:i.content?.extract?i.content.extract:i.purge?.extract?.DEFAULT?i.purge.extract.DEFAULT:i.content?.extract?.DEFAULT?i.content.extract.DEFAULT:i.purge?.options?.extractors?i.purge.options.extractors:i.content?.options?.extractors?i.content.options.extractors:{},r={},n=i.purge?.options?.defaultExtractor?i.purge.options.defaultExtractor:i.content?.options?.defaultExtractor?i.content.options.defaultExtractor:void 0;if(void 0!==n&&(r.DEFAULT=n),"function"==typeof t)r.DEFAULT=t;else if(Array.isArray(t))for(let{extensions:a,extractor:s}of t??[])for(let o of a)r[o]=s;else"object"==typeof t&&null!==t&&Object.assign(r,t);return r})(),transform:(()=>{let t=i.purge?.transform?i.purge.transform:i.content?.transform?i.content.transform:i.purge?.transform?.DEFAULT?i.purge.transform.DEFAULT:i.content?.transform?.DEFAULT?i.content.transform.DEFAULT:{},r={};return"function"==typeof t&&(r.DEFAULT=t),"object"==typeof t&&null!==t&&Object.assign(r,t),r})()};for(let t of i.content.files)if("string"==typeof t&&/{([^,]*?)}/g.test(t)){F.warn("invalid-glob-braces",[`The glob pattern ${Xn(t)} in your Tailwind CSS configuration is invalid.`,`Update it to ${Xn(t.replace(/{([^,]*?)}/g,"$1"))} to silence this warning.`]);break}return i}(es({theme:t0(Zb(Kb(e.map((t=>t?.theme??{}))))),corePlugins:r0(e.map((t=>t.corePlugins))),plugins:i0(i.map((t=>t?.plugins??[])))},...e))}var ps,Xu=C((()=>{l(),fi(),yu(),bu(),Zn(),Su(),pi(),Eu(),kt(),hi(),cr(),or(),cs(),ps={colors:Kn,negative:i=>Object.keys(i).filter((e=>"0"!==i[e])).reduce(((e,t)=>{let r=Xe(i[t]);return void 0!==r&&(e[`-${t}`]=r),e}),{}),breakpoints:i=>Object.keys(i).filter((e=>"string"==typeof i[e])).reduce(((e,t)=>({...e,[`screen-${t}`]:i[t]})),{})}})),bi=v(((eT,Ku)=>{l(),Ku.exports={content:[],presets:[],darkMode:"media",theme:{accentColor:({theme:i})=>({...i("colors"),auto:"auto"}),animation:{none:"none",spin:"spin 1s linear infinite",ping:"ping 1s cubic-bezier(0, 0, 0.2, 1) infinite",pulse:"pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite",bounce:"bounce 1s infinite"},aria:{busy:'busy="true"',checked:'checked="true"',disabled:'disabled="true"',expanded:'expanded="true"',hidden:'hidden="true"',pressed:'pressed="true"',readonly:'readonly="true"',required:'required="true"',selected:'selected="true"'},aspectRatio:{auto:"auto",square:"1 / 1",video:"16 / 9"},backdropBlur:({theme:i})=>i("blur"),backdropBrightness:({theme:i})=>i("brightness"),backdropContrast:({theme:i})=>i("contrast"),backdropGrayscale:({theme:i})=>i("grayscale"),backdropHueRotate:({theme:i})=>i("hueRotate"),backdropInvert:({theme:i})=>i("invert"),backdropOpacity:({theme:i})=>i("opacity"),backdropSaturate:({theme:i})=>i("saturate"),backdropSepia:({theme:i})=>i("sepia"),backgroundColor:({theme:i})=>i("colors"),backgroundImage:{none:"none","gradient-to-t":"linear-gradient(to top, var(--tw-gradient-stops))","gradient-to-tr":"linear-gradient(to top right, var(--tw-gradient-stops))","gradient-to-r":"linear-gradient(to right, var(--tw-gradient-stops))","gradient-to-br":"linear-gradient(to bottom right, var(--tw-gradient-stops))","gradient-to-b":"linear-gradient(to bottom, var(--tw-gradient-stops))","gradient-to-bl":"linear-gradient(to bottom left, var(--tw-gradient-stops))","gradient-to-l":"linear-gradient(to left, var(--tw-gradient-stops))","gradient-to-tl":"linear-gradient(to top left, var(--tw-gradient-stops))"},backgroundOpacity:({theme:i})=>i("opacity"),backgroundPosition:{bottom:"bottom",center:"center",left:"left","left-bottom":"left bottom","left-top":"left top",right:"right","right-bottom":"right bottom","right-top":"right top",top:"top"},backgroundSize:{auto:"auto",cover:"cover",contain:"contain"},blur:{0:"0",none:"0",sm:"4px",DEFAULT:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},borderColor:({theme:i})=>({...i("colors"),DEFAULT:i("colors.gray.200","currentColor")}),borderOpacity:({theme:i})=>i("opacity"),borderRadius:{none:"0px",sm:"0.125rem",DEFAULT:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},borderSpacing:({theme:i})=>({...i("spacing")}),borderWidth:{DEFAULT:"1px",0:"0px",2:"2px",4:"4px",8:"8px"},boxShadow:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",DEFAULT:"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)","2xl":"0 25px 50px -12px rgb(0 0 0 / 0.25)",inner:"inset 0 2px 4px 0 rgb(0 0 0 / 0.05)",none:"none"},boxShadowColor:({theme:i})=>i("colors"),brightness:{0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5",200:"2"},caretColor:({theme:i})=>i("colors"),colors:({colors:i})=>({inherit:i.inherit,current:i.current,transparent:i.transparent,black:i.black,white:i.white,slate:i.slate,gray:i.gray,zinc:i.zinc,neutral:i.neutral,stone:i.stone,red:i.red,orange:i.orange,amber:i.amber,yellow:i.yellow,lime:i.lime,green:i.green,emerald:i.emerald,teal:i.teal,cyan:i.cyan,sky:i.sky,blue:i.blue,indigo:i.indigo,violet:i.violet,purple:i.purple,fuchsia:i.fuchsia,pink:i.pink,rose:i.rose}),columns:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12","3xs":"16rem","2xs":"18rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem"},container:{},content:{none:"none"},contrast:{0:"0",50:".5",75:".75",100:"1",125:"1.25",150:"1.5",200:"2"},cursor:{auto:"auto",default:"default",pointer:"pointer",wait:"wait",text:"text",move:"move",help:"help","not-allowed":"not-allowed",none:"none","context-menu":"context-menu",progress:"progress",cell:"cell",crosshair:"crosshair","vertical-text":"vertical-text",alias:"alias",copy:"copy","no-drop":"no-drop",grab:"grab",grabbing:"grabbing","all-scroll":"all-scroll","col-resize":"col-resize","row-resize":"row-resize","n-resize":"n-resize","e-resize":"e-resize","s-resize":"s-resize","w-resize":"w-resize","ne-resize":"ne-resize","nw-resize":"nw-resize","se-resize":"se-resize","sw-resize":"sw-resize","ew-resize":"ew-resize","ns-resize":"ns-resize","nesw-resize":"nesw-resize","nwse-resize":"nwse-resize","zoom-in":"zoom-in","zoom-out":"zoom-out"},divideColor:({theme:i})=>i("borderColor"),divideOpacity:({theme:i})=>i("borderOpacity"),divideWidth:({theme:i})=>i("borderWidth"),dropShadow:{sm:"0 1px 1px rgb(0 0 0 / 0.05)",DEFAULT:["0 1px 2px rgb(0 0 0 / 0.1)","0 1px 1px rgb(0 0 0 / 0.06)"],md:["0 4px 3px rgb(0 0 0 / 0.07)","0 2px 2px rgb(0 0 0 / 0.06)"],lg:["0 10px 8px rgb(0 0 0 / 0.04)","0 4px 3px rgb(0 0 0 / 0.1)"],xl:["0 20px 13px rgb(0 0 0 / 0.03)","0 8px 5px rgb(0 0 0 / 0.08)"],"2xl":"0 25px 25px rgb(0 0 0 / 0.15)",none:"0 0 #0000"},fill:({theme:i})=>({none:"none",...i("colors")}),flex:{1:"1 1 0%",auto:"1 1 auto",initial:"0 1 auto",none:"none"},flexBasis:({theme:i})=>({auto:"auto",...i("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%"}),flexGrow:{0:"0",DEFAULT:"1"},flexShrink:{0:"0",DEFAULT:"1"},fontFamily:{sans:["ui-sans-serif","system-ui","sans-serif",'"Apple Color Emoji"','"Segoe UI Emoji"','"Segoe UI Symbol"','"Noto Color Emoji"'],serif:["ui-serif","Georgia","Cambria",'"Times New Roman"',"Times","serif"],mono:["ui-monospace","SFMono-Regular","Menlo","Monaco","Consolas",'"Liberation Mono"','"Courier New"',"monospace"]},fontSize:{xs:["0.75rem",{lineHeight:"1rem"}],sm:["0.875rem",{lineHeight:"1.25rem"}],base:["1rem",{lineHeight:"1.5rem"}],lg:["1.125rem",{lineHeight:"1.75rem"}],xl:["1.25rem",{lineHeight:"1.75rem"}],"2xl":["1.5rem",{lineHeight:"2rem"}],"3xl":["1.875rem",{lineHeight:"2.25rem"}],"4xl":["2.25rem",{lineHeight:"2.5rem"}],"5xl":["3rem",{lineHeight:"1"}],"6xl":["3.75rem",{lineHeight:"1"}],"7xl":["4.5rem",{lineHeight:"1"}],"8xl":["6rem",{lineHeight:"1"}],"9xl":["8rem",{lineHeight:"1"}]},fontWeight:{thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"},gap:({theme:i})=>i("spacing"),gradientColorStops:({theme:i})=>i("colors"),gradientColorStopPositions:{"0%":"0%","5%":"5%","10%":"10%","15%":"15%","20%":"20%","25%":"25%","30%":"30%","35%":"35%","40%":"40%","45%":"45%","50%":"50%","55%":"55%","60%":"60%","65%":"65%","70%":"70%","75%":"75%","80%":"80%","85%":"85%","90%":"90%","95%":"95%","100%":"100%"},grayscale:{0:"0",DEFAULT:"100%"},gridAutoColumns:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0, 1fr)"},gridAutoRows:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0, 1fr)"},gridColumn:{auto:"auto","span-1":"span 1 / span 1","span-2":"span 2 / span 2","span-3":"span 3 / span 3","span-4":"span 4 / span 4","span-5":"span 5 / span 5","span-6":"span 6 / span 6","span-7":"span 7 / span 7","span-8":"span 8 / span 8","span-9":"span 9 / span 9","span-10":"span 10 / span 10","span-11":"span 11 / span 11","span-12":"span 12 / span 12","span-full":"1 / -1"},gridColumnEnd:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridColumnStart:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridRow:{auto:"auto","span-1":"span 1 / span 1","span-2":"span 2 / span 2","span-3":"span 3 / span 3","span-4":"span 4 / span 4","span-5":"span 5 / span 5","span-6":"span 6 / span 6","span-7":"span 7 / span 7","span-8":"span 8 / span 8","span-9":"span 9 / span 9","span-10":"span 10 / span 10","span-11":"span 11 / span 11","span-12":"span 12 / span 12","span-full":"1 / -1"},gridRowEnd:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridRowStart:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridTemplateColumns:{none:"none",subgrid:"subgrid",1:"repeat(1, minmax(0, 1fr))",2:"repeat(2, minmax(0, 1fr))",3:"repeat(3, minmax(0, 1fr))",4:"repeat(4, minmax(0, 1fr))",5:"repeat(5, minmax(0, 1fr))",6:"repeat(6, minmax(0, 1fr))",7:"repeat(7, minmax(0, 1fr))",8:"repeat(8, minmax(0, 1fr))",9:"repeat(9, minmax(0, 1fr))",10:"repeat(10, minmax(0, 1fr))",11:"repeat(11, minmax(0, 1fr))",12:"repeat(12, minmax(0, 1fr))"},gridTemplateRows:{none:"none",subgrid:"subgrid",1:"repeat(1, minmax(0, 1fr))",2:"repeat(2, minmax(0, 1fr))",3:"repeat(3, minmax(0, 1fr))",4:"repeat(4, minmax(0, 1fr))",5:"repeat(5, minmax(0, 1fr))",6:"repeat(6, minmax(0, 1fr))",7:"repeat(7, minmax(0, 1fr))",8:"repeat(8, minmax(0, 1fr))",9:"repeat(9, minmax(0, 1fr))",10:"repeat(10, minmax(0, 1fr))",11:"repeat(11, minmax(0, 1fr))",12:"repeat(12, minmax(0, 1fr))"},height:({theme:i})=>({auto:"auto",...i("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%",full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content"}),hueRotate:{0:"0deg",15:"15deg",30:"30deg",60:"60deg",90:"90deg",180:"180deg"},inset:({theme:i})=>({auto:"auto",...i("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%"}),invert:{0:"0",DEFAULT:"100%"},keyframes:{spin:{to:{transform:"rotate(360deg)"}},ping:{"75%, 100%":{transform:"scale(2)",opacity:"0"}},pulse:{"50%":{opacity:".5"}},bounce:{"0%, 100%":{transform:"translateY(-25%)",animationTimingFunction:"cubic-bezier(0.8,0,1,1)"},"50%":{transform:"none",animationTimingFunction:"cubic-bezier(0,0,0.2,1)"}}},letterSpacing:{tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeight:{none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2",3:".75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},listStyleType:{none:"none",disc:"disc",decimal:"decimal"},listStyleImage:{none:"none"},margin:({theme:i})=>({auto:"auto",...i("spacing")}),lineClamp:{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6"},maxHeight:({theme:i})=>({...i("spacing"),none:"none",full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content"}),maxWidth:({theme:i,breakpoints:e})=>({...i("spacing"),none:"none",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",full:"100%",min:"min-content",max:"max-content",fit:"fit-content",prose:"65ch",...e(i("screens"))}),minHeight:({theme:i})=>({...i("spacing"),full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content"}),minWidth:({theme:i})=>({...i("spacing"),full:"100%",min:"min-content",max:"max-content",fit:"fit-content"}),objectPosition:{bottom:"bottom",center:"center",left:"left","left-bottom":"left bottom","left-top":"left top",right:"right","right-bottom":"right bottom","right-top":"right top",top:"top"},opacity:{0:"0",5:"0.05",10:"0.1",15:"0.15",20:"0.2",25:"0.25",30:"0.3",35:"0.35",40:"0.4",45:"0.45",50:"0.5",55:"0.55",60:"0.6",65:"0.65",70:"0.7",75:"0.75",80:"0.8",85:"0.85",90:"0.9",95:"0.95",100:"1"},order:{first:"-9999",last:"9999",none:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12"},outlineColor:({theme:i})=>i("colors"),outlineOffset:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},outlineWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},padding:({theme:i})=>i("spacing"),placeholderColor:({theme:i})=>i("colors"),placeholderOpacity:({theme:i})=>i("opacity"),ringColor:({theme:i})=>({DEFAULT:i("colors.blue.500","#3b82f6"),...i("colors")}),ringOffsetColor:({theme:i})=>i("colors"),ringOffsetWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},ringOpacity:({theme:i})=>({DEFAULT:"0.5",...i("opacity")}),ringWidth:{DEFAULT:"3px",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},rotate:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg",45:"45deg",90:"90deg",180:"180deg"},saturate:{0:"0",50:".5",100:"1",150:"1.5",200:"2"},scale:{0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5"},screens:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},scrollMargin:({theme:i})=>({...i("spacing")}),scrollPadding:({theme:i})=>i("spacing"),sepia:{0:"0",DEFAULT:"100%"},skew:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg"},space:({theme:i})=>({...i("spacing")}),spacing:{px:"1px",0:"0px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",11:"2.75rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},stroke:({theme:i})=>({none:"none",...i("colors")}),strokeWidth:{0:"0",1:"1",2:"2"},supports:{},data:{},textColor:({theme:i})=>i("colors"),textDecorationColor:({theme:i})=>i("colors"),textDecorationThickness:{auto:"auto","from-font":"from-font",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},textIndent:({theme:i})=>({...i("spacing")}),textOpacity:({theme:i})=>i("opacity"),textUnderlineOffset:{auto:"auto",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},transformOrigin:{center:"center",top:"top","top-right":"top right",right:"right","bottom-right":"bottom right",bottom:"bottom","bottom-left":"bottom left",left:"left","top-left":"top left"},transitionDelay:{0:"0s",75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"},transitionDuration:{DEFAULT:"150ms",0:"0s",75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"},transitionProperty:{none:"none",all:"all",DEFAULT:"color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter",colors:"color, background-color, border-color, text-decoration-color, fill, stroke",opacity:"opacity",shadow:"box-shadow",transform:"transform"},transitionTimingFunction:{DEFAULT:"cubic-bezier(0.4, 0, 0.2, 1)",linear:"linear",in:"cubic-bezier(0.4, 0, 1, 1)",out:"cubic-bezier(0, 0, 0.2, 1)","in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},translate:({theme:i})=>({...i("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%"}),size:({theme:i})=>({auto:"auto",...i("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",min:"min-content",max:"max-content",fit:"fit-content"}),width:({theme:i})=>({auto:"auto",...i("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",screen:"100vw",svw:"100svw",lvw:"100lvw",dvw:"100dvw",min:"min-content",max:"max-content",fit:"fit-content"}),willChange:{auto:"auto",scroll:"scroll-position",contents:"contents",transform:"transform"},zIndex:{auto:"auto",0:"0",10:"10",20:"20",30:"30",40:"40",50:"50"}},plugins:[]}}));function vi(i){let e=(i?.presets??[Zu.default]).slice().reverse().flatMap((n=>vi(n instanceof Function?n():n))),t={respectDefaultRingColorOpacity:{theme:{ringColor:({theme:n})=>({DEFAULT:"#3b82f67f",...n("colors")})}},disableColorOpacityUtilitiesByDefault:{corePlugins:{backgroundOpacity:!1,borderOpacity:!1,divideOpacity:!1,placeholderOpacity:!1,ringOpacity:!1,textOpacity:!1}}},r=Object.keys(t).filter((n=>Z(i,n))).map((n=>t[n]));return[i,...r,...e]}var Zu,ef=C((()=>{l(),Zu=K(bi()),ze()})),tf={};function dr(...i){let[,...e]=vi(i[0]);return ds([...i,...e])}Ae(tf,{default:()=>dr});var hs=C((()=>{l(),Xu(),ef()})),rf={};Ae(rf,{default:()=>ee});var ee,gt=C((()=>{l(),ee={resolve:i=>i,extname:i=>"."+i.split(".").pop()}}));function xi(i){return"object"==typeof i&&null!==i}function nf(i){return"string"==typeof i||i instanceof String}function ms(i){return xi(i)&&void 0===i.config&&!function(i){return 0===Object.keys(i).length}(i)?null:xi(i)&&void 0!==i.config&&nf(i.config)?ee.resolve(i.config):xi(i)&&void 0!==i.config&&xi(i.config)?null:nf(i)?ee.resolve(i):function(){for(let i of n0)try{let e=ee.resolve(i);return re.accessSync(e),e}catch(e){}return null}()}var n0,sf=C((()=>{l(),je(),gt(),n0=["./tailwind.config.js","./tailwind.config.cjs","./tailwind.config.mjs","./tailwind.config.ts"]})),af={};Ae(af,{default:()=>gs});var gs,W,V,ys=C((()=>{l(),gs={parse:i=>({href:i})}})),ws=v((()=>{l()})),ki=v(((fT,uf)=>{l();var of=(ci(),vu),lf=ws(),_t=class extends Error{constructor(e,t,r,n,a,s){super(e),this.name="CssSyntaxError",this.reason=e,a&&(this.file=a),n&&(this.source=n),s&&(this.plugin=s),void 0!==t&&void 0!==r&&("number"==typeof t?(this.line=t,this.column=r):(this.line=t.line,this.column=t.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,_t)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",void 0!==this.line&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let t=this.source;null==e&&(e=of.isColorSupported),lf&&e&&(t=lf(t));let o,u,r=t.split(/\r?\n/),n=Math.max(this.line-3,0),a=Math.min(this.line+2,r.length),s=String(a).length;if(e){let{bold:c,red:f,gray:d}=of.createColors(!0);o=p=>c(f(p)),u=p=>d(p)}else o=u=c=>c;return r.slice(n,a).map(((c,f)=>{let d=n+1+f,p=" "+(" "+d).slice(-s)+" | ";if(d===this.line){let m=u(p.replace(/\d/g," "))+c.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+u(p)+c+"\n "+m+o("^")}return" "+u(p)+c})).join("\n")}toString(){let e=this.showSourceCode();return e&&(e="\n\n"+e+"\n"),this.name+": "+this.message+e}};uf.exports=_t,_t.default=_t})),Si=v(((cT,bs)=>{l(),bs.exports.isClean=Symbol("isClean"),bs.exports.my=Symbol("my")})),vs=v(((pT,cf)=>{l();var ff={colon:": ",indent:" ",beforeDecl:"\n",beforeRule:"\n",beforeOpen:" ",beforeClose:"\n",beforeComment:"\n",after:"\n",emptyBody:"",commentLeft:" ",commentRight:" ",semicolon:!1};var Ci=class{constructor(e){this.builder=e}stringify(e,t){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,t)}document(e){this.body(e)}root(e){this.body(e),e.raws.after&&this.builder(e.raws.after)}comment(e){let t=this.raw(e,"left","commentLeft"),r=this.raw(e,"right","commentRight");this.builder("/*"+t+e.text+r+"*/",e)}decl(e,t){let r=this.raw(e,"between","colon"),n=e.prop+r+this.rawValue(e,"value");e.important&&(n+=e.raws.important||" !important"),t&&(n+=";"),this.builder(n,e)}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,"end")}atrule(e,t){let r="@"+e.name,n=e.params?this.rawValue(e,"params"):"";if(void 0!==e.raws.afterName?r+=e.raws.afterName:n&&(r+=" "),e.nodes)this.block(e,r+n);else{let a=(e.raws.between||"")+(t?";":"");this.builder(r+n+a,e)}}body(e){let t=e.nodes.length-1;for(;t>0&&"comment"===e.nodes[t].type;)t-=1;let r=this.raw(e,"semicolon");for(let n=0;n{if(n=u.raws[t],void 0!==n)return!1}))}var i;return void 0===n&&(n=ff[r]),s.rawCache[r]=n,n}rawSemicolon(e){let t;return e.walk((r=>{if(r.nodes&&r.nodes.length&&"decl"===r.last.type&&(t=r.raws.semicolon,void 0!==t))return!1})),t}rawEmptyBody(e){let t;return e.walk((r=>{if(r.nodes&&0===r.nodes.length&&(t=r.raws.after,void 0!==t))return!1})),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk((r=>{let n=r.parent;if(n&&n!==e&&n.parent&&n.parent===e&&void 0!==r.raws.before){let a=r.raws.before.split("\n");return t=a[a.length-1],t=t.replace(/\S/g,""),!1}})),t}rawBeforeComment(e,t){let r;return e.walkComments((n=>{if(void 0!==n.raws.before)return r=n.raws.before,r.includes("\n")&&(r=r.replace(/[^\n]+$/,"")),!1})),void 0===r?r=this.raw(t,null,"beforeDecl"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeDecl(e,t){let r;return e.walkDecls((n=>{if(void 0!==n.raws.before)return r=n.raws.before,r.includes("\n")&&(r=r.replace(/[^\n]+$/,"")),!1})),void 0===r?r=this.raw(t,null,"beforeRule"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeRule(e){let t;return e.walk((r=>{if(r.nodes&&(r.parent!==e||e.first!==r)&&void 0!==r.raws.before)return t=r.raws.before,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1})),t&&(t=t.replace(/\S/g,"")),t}rawBeforeClose(e){let t;return e.walk((r=>{if(r.nodes&&r.nodes.length>0&&void 0!==r.raws.after)return t=r.raws.after,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1})),t&&(t=t.replace(/\S/g,"")),t}rawBeforeOpen(e){let t;return e.walk((r=>{if("decl"!==r.type&&(t=r.raws.between,void 0!==t))return!1})),t}rawColon(e){let t;return e.walkDecls((r=>{if(void 0!==r.raws.between)return t=r.raws.between.replace(/[^\s:]/g,""),!1})),t}beforeAfter(e,t){let r;r="decl"===e.type?this.raw(e,null,"beforeDecl"):"comment"===e.type?this.raw(e,null,"beforeComment"):"before"===t?this.raw(e,null,"beforeRule"):this.raw(e,null,"beforeClose");let n=e.parent,a=0;for(;n&&"root"!==n.type;)a+=1,n=n.parent;if(r.includes("\n")){let s=this.raw(e,null,"indent");if(s.length)for(let o=0;o{l();var l0=vs();function xs(i,e){new l0(e).stringify(i)}pf.exports=xs,xs.default=xs})),mr=v(((hT,df)=>{l();var{isClean:Ai,my:u0}=Si(),f0=ki(),c0=vs(),p0=hr();function ks(i,e){let t=new i.constructor;for(let r in i){if(!Object.prototype.hasOwnProperty.call(i,r)||"proxyCache"===r)continue;let n=i[r],a=typeof n;"parent"===r&&"object"===a?e&&(t[r]=e):"source"===r?t[r]=n:Array.isArray(n)?t[r]=n.map((s=>ks(s,t))):("object"===a&&null!==n&&(n=ks(n)),t[r]=n)}return t}var _i=class{constructor(e={}){this.raws={},this[Ai]=!1,this[u0]=!0;for(let t in e)if("nodes"===t){this.nodes=[];for(let r of e[t])"function"==typeof r.clone?this.append(r.clone()):this.append(r)}else this[t]=e[t]}error(e,t={}){if(this.source){let{start:r,end:n}=this.rangeBy(t);return this.source.input.error(e,{line:r.line,column:r.column},{line:n.line,column:n.column},t)}return new f0(e)}warn(e,t,r){let n={node:this};for(let a in r)n[a]=r[a];return e.warn(t,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(e=p0){e.stringify&&(e=e.stringify);let t="";return e(this,(r=>{t+=r})),t}assign(e={}){for(let t in e)this[t]=e[t];return this}clone(e={}){let t=ks(this);for(let r in e)t[r]=e[r];return t}cloneBefore(e={}){let t=this.clone(e);return this.parent.insertBefore(this,t),t}cloneAfter(e={}){let t=this.clone(e);return this.parent.insertAfter(this,t),t}replaceWith(...e){if(this.parent){let t=this,r=!1;for(let n of e)n===this?r=!0:r?(this.parent.insertAfter(t,n),t=n):this.parent.insertBefore(t,n);r||this.remove()}return this}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}before(e){return this.parent.insertBefore(this,e),this}after(e){return this.parent.insertAfter(this,e),this}root(){let e=this;for(;e.parent&&"document"!==e.parent.type;)e=e.parent;return e}raw(e,t){return(new c0).raw(this,e,t)}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}toJSON(e,t){let r={},n=null==t;t=t||new Map;let a=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||"parent"===s||"proxyCache"===s)continue;let o=this[s];if(Array.isArray(o))r[s]=o.map((u=>"object"==typeof u&&u.toJSON?u.toJSON(null,t):u));else if("object"==typeof o&&o.toJSON)r[s]=o.toJSON(null,t);else if("source"===s){let u=t.get(o.input);null==u&&(u=a,t.set(o.input,a),a++),r[s]={inputId:u,start:o.start,end:o.end}}else r[s]=o}return n&&(r.inputs=[...t.keys()].map((s=>s.toJSON()))),r}positionInside(e){let t=this.toString(),r=this.source.start.column,n=this.source.start.line;for(let a=0;a(e[t]===r||(e[t]=r,("prop"===t||"value"===t||"name"===t||"params"===t||"important"===t||"text"===t)&&e.markDirty()),!0),get:(e,t)=>"proxyOf"===t?e:"root"===t?()=>e.root().toProxy():e[t]}}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\n\s{4}at /.test(e.stack)){let t=this.source;e.stack=e.stack.replace(/\n\s{4}at /,`$&${t.input.from}:${t.start.line}:${t.start.column}$&`)}return e}markDirty(){if(this[Ai]){this[Ai]=!1;let e=this;for(;e=e.parent;)e[Ai]=!1}}get proxyOf(){return this}};df.exports=_i,_i.default=_i})),gr=v(((mT,hf)=>{l();var d0=mr(),Oi=class extends d0{constructor(e){e&&void 0!==e.value&&"string"!=typeof e.value&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}get variable(){return this.prop.startsWith("--")||"$"===this.prop[0]}};hf.exports=Oi,Oi.default=Oi})),Ss=v(((gT,mf)=>{l(),mf.exports=function(i,e){return{generate:()=>{let t="";return i(e,(r=>{t+=r})),[t]}}}})),yr=v(((yT,gf)=>{l();var h0=mr(),Ei=class extends h0{constructor(e){super(e),this.type="comment"}};gf.exports=Ei,Ei.default=Ei})),it=v(((wT,Af)=>{l();var xf,Cs,As,kf,{isClean:yf,my:wf}=Si(),bf=gr(),vf=yr(),m0=mr();function Sf(i){return i.map((e=>(e.nodes&&(e.nodes=Sf(e.nodes)),delete e.source,e)))}function Cf(i){if(i[yf]=!1,i.proxyOf.nodes)for(let e of i.proxyOf.nodes)Cf(e)}var we=class extends m0{push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}each(e){if(!this.proxyOf.nodes)return;let r,n,t=this.getIterator();for(;this.indexes[t]{let n;try{n=e(t,r)}catch(a){throw t.addToError(a)}return!1!==n&&t.walk&&(n=t.walk(e)),n}))}walkDecls(e,t){return t?e instanceof RegExp?this.walk(((r,n)=>{if("decl"===r.type&&e.test(r.prop))return t(r,n)})):this.walk(((r,n)=>{if("decl"===r.type&&r.prop===e)return t(r,n)})):(t=e,this.walk(((r,n)=>{if("decl"===r.type)return t(r,n)})))}walkRules(e,t){return t?e instanceof RegExp?this.walk(((r,n)=>{if("rule"===r.type&&e.test(r.selector))return t(r,n)})):this.walk(((r,n)=>{if("rule"===r.type&&r.selector===e)return t(r,n)})):(t=e,this.walk(((r,n)=>{if("rule"===r.type)return t(r,n)})))}walkAtRules(e,t){return t?e instanceof RegExp?this.walk(((r,n)=>{if("atrule"===r.type&&e.test(r.name))return t(r,n)})):this.walk(((r,n)=>{if("atrule"===r.type&&r.name===e)return t(r,n)})):(t=e,this.walk(((r,n)=>{if("atrule"===r.type)return t(r,n)})))}walkComments(e){return this.walk(((t,r)=>{if("comment"===t.type)return e(t,r)}))}append(...e){for(let t of e){let r=this.normalize(t,this.last);for(let n of r)this.proxyOf.nodes.push(n)}return this.markDirty(),this}prepend(...e){e=e.reverse();for(let t of e){let r=this.normalize(t,this.first,"prepend").reverse();for(let n of r)this.proxyOf.nodes.unshift(n);for(let n in this.indexes)this.indexes[n]=this.indexes[n]+r.length}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}insertBefore(e,t){let s,r=this.index(e),n=0===r&&"prepend",a=this.normalize(t,this.proxyOf.nodes[r],n).reverse();r=this.index(e);for(let o of a)this.proxyOf.nodes.splice(r,0,o);for(let o in this.indexes)s=this.indexes[o],r<=s&&(this.indexes[o]=s+a.length);return this.markDirty(),this}insertAfter(e,t){let a,r=this.index(e),n=this.normalize(t,this.proxyOf.nodes[r]).reverse();r=this.index(e);for(let s of n)this.proxyOf.nodes.splice(r+1,0,s);for(let s in this.indexes)a=this.indexes[s],r=e&&(this.indexes[r]=t-1);return this.markDirty(),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}replaceValues(e,t,r){return r||(r=t,t={}),this.walkDecls((n=>{t.props&&!t.props.includes(n.prop)||t.fast&&!n.value.includes(t.fast)||(n.value=n.value.replace(e,r))})),this.markDirty(),this}every(e){return this.nodes.every(e)}some(e){return this.nodes.some(e)}index(e){return"number"==typeof e?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}normalize(e,t){if("string"==typeof e)e=Sf(xf(e).nodes);else if(Array.isArray(e)){e=e.slice(0);for(let n of e)n.parent&&n.parent.removeChild(n,"ignore")}else if("root"===e.type&&"document"!==this.type){e=e.nodes.slice(0);for(let n of e)n.parent&&n.parent.removeChild(n,"ignore")}else if(e.type)e=[e];else if(e.prop){if(void 0===e.value)throw new Error("Value field is missed in node creation");"string"!=typeof e.value&&(e.value=String(e.value)),e=[new bf(e)]}else if(e.selector)e=[new Cs(e)];else if(e.name)e=[new As(e)];else{if(!e.text)throw new Error("Unknown node type in node creation");e=[new vf(e)]}return e.map((n=>(n[wf]||we.rebuild(n),(n=n.proxyOf).parent&&n.parent.removeChild(n),n[yf]&&Cf(n),void 0===n.raws.before&&t&&void 0!==t.raws.before&&(n.raws.before=t.raws.before.replace(/\S/g,"")),n.parent=this.proxyOf,n)))}getProxyProcessor(){return{set:(e,t,r)=>(e[t]===r||(e[t]=r,("name"===t||"params"===t||"selector"===t)&&e.markDirty()),!0),get:(e,t)=>"proxyOf"===t?e:e[t]?"each"===t||"string"==typeof t&&t.startsWith("walk")?(...r)=>e[t](...r.map((n=>"function"==typeof n?(a,s)=>n(a.toProxy(),s):n))):"every"===t||"some"===t?r=>e[t](((n,...a)=>r(n.toProxy(),...a))):"root"===t?()=>e.root().toProxy():"nodes"===t?e.nodes.map((r=>r.toProxy())):"first"===t||"last"===t?e[t].toProxy():e[t]:e[t]}}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}};we.registerParse=i=>{xf=i},we.registerRule=i=>{Cs=i},we.registerAtRule=i=>{As=i},we.registerRoot=i=>{kf=i},Af.exports=we,we.default=we,we.rebuild=i=>{"atrule"===i.type?Object.setPrototypeOf(i,As.prototype):"rule"===i.type?Object.setPrototypeOf(i,Cs.prototype):"decl"===i.type?Object.setPrototypeOf(i,bf.prototype):"comment"===i.type?Object.setPrototypeOf(i,vf.prototype):"root"===i.type&&Object.setPrototypeOf(i,kf.prototype),i[wf]=!0,i.nodes&&i.nodes.forEach((e=>{we.rebuild(e)}))}})),Ti=v(((bT,Ef)=>{l();var _f,Of,g0=it(),Ot=class extends g0{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new _f(new Of,this,e).stringify()}};Ot.registerLazyResult=i=>{_f=i},Ot.registerProcessor=i=>{Of=i},Ef.exports=Ot,Ot.default=Ot})),_s=v(((vT,Pf)=>{l();var Tf={};Pf.exports=function(e){Tf[e]||(Tf[e]=!0,"undefined"!=typeof console&&console.warn&&console.warn(e))}})),Os=v(((xT,Df)=>{l();var Pi=class{constructor(e,t={}){if(this.type="warning",this.text=e,t.node&&t.node.source){let r=t.node.rangeBy(t);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in t)this[r]=t[r]}toString(){return this.node?this.node.error(this.text,{plugin:this.plugin,index:this.index,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};Df.exports=Pi,Pi.default=Pi})),Ii=v(((kT,If)=>{l();var y0=Os(),Di=class{constructor(e,t,r){this.processor=e,this.messages=[],this.root=t,this.opts=r,this.css=void 0,this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let r=new y0(e,t);return this.messages.push(r),r}warnings(){return this.messages.filter((e=>"warning"===e.type))}get content(){return this.css}};If.exports=Di,Di.default=Di})),Ff=v(((ST,Bf)=>{l();var Es="'".charCodeAt(0),qf='"'.charCodeAt(0),qi="\\".charCodeAt(0),Rf="/".charCodeAt(0),Ri="\n".charCodeAt(0),wr=" ".charCodeAt(0),Mi="\f".charCodeAt(0),Bi="\t".charCodeAt(0),Fi="\r".charCodeAt(0),w0="[".charCodeAt(0),b0="]".charCodeAt(0),v0="(".charCodeAt(0),x0=")".charCodeAt(0),k0="{".charCodeAt(0),S0="}".charCodeAt(0),C0=";".charCodeAt(0),A0="*".charCodeAt(0),_0=":".charCodeAt(0),O0="@".charCodeAt(0),Ni=/[\t\n\f\r "#'()/;[\\\]{}]/g,Li=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,E0=/.[\n"'(/\\]/,Mf=/[\da-f]/i;Bf.exports=function(e,t={}){let a,s,o,u,c,f,d,p,m,w,r=e.css.valueOf(),n=t.ignoreErrors,x=r.length,y=0,b=[],k=[];function _(q){throw e.error("Unclosed "+q,y)}return{back:function(q){k.push(q)},nextToken:function(q){if(k.length)return k.pop();if(y>=x)return;let X=!!q&&q.ignoreUnclosed;switch(a=r.charCodeAt(y),a){case Ri:case wr:case Bi:case Fi:case Mi:s=y;do{s+=1,a=r.charCodeAt(s)}while(a===wr||a===Ri||a===Bi||a===Fi||a===Mi);w=["space",r.slice(y,s)],y=s-1;break;case w0:case b0:case k0:case S0:case _0:case C0:case x0:{let le=String.fromCharCode(a);w=[le,le,y];break}case v0:if(p=b.length?b.pop()[1]:"",m=r.charCodeAt(y+1),"url"===p&&m!==Es&&m!==qf&&m!==wr&&m!==Ri&&m!==Bi&&m!==Mi&&m!==Fi){s=y;do{if(f=!1,s=r.indexOf(")",s+1),-1===s){if(n||X){s=y;break}_("bracket")}for(d=s;r.charCodeAt(d-1)===qi;)d-=1,f=!f}while(f);w=["brackets",r.slice(y,s+1),y,s],y=s}else s=r.indexOf(")",y+1),u=r.slice(y,s+1),-1===s||E0.test(u)?w=["(","(",y]:(w=["brackets",u,y,s],y=s);break;case Es:case qf:o=a===Es?"'":'"',s=y;do{if(f=!1,s=r.indexOf(o,s+1),-1===s){if(n||X){s=y+1;break}_("string")}for(d=s;r.charCodeAt(d-1)===qi;)d-=1,f=!f}while(f);w=["string",r.slice(y,s+1),y,s],y=s;break;case O0:Ni.lastIndex=y+1,Ni.test(r),s=0===Ni.lastIndex?r.length-1:Ni.lastIndex-2,w=["at-word",r.slice(y,s+1),y,s],y=s;break;case qi:for(s=y,c=!0;r.charCodeAt(s+1)===qi;)s+=1,c=!c;if(a=r.charCodeAt(s+1),c&&a!==Rf&&a!==wr&&a!==Ri&&a!==Bi&&a!==Fi&&a!==Mi&&(s+=1,Mf.test(r.charAt(s)))){for(;Mf.test(r.charAt(s+1));)s+=1;r.charCodeAt(s+1)===wr&&(s+=1)}w=["word",r.slice(y,s+1),y,s],y=s;break;default:a===Rf&&r.charCodeAt(y+1)===A0?(s=r.indexOf("*/",y+2)+1,0===s&&(n||X?s=r.length:_("comment")),w=["comment",r.slice(y,s+1),y,s],y=s):(Li.lastIndex=y+1,Li.test(r),s=0===Li.lastIndex?r.length-1:Li.lastIndex-2,w=["word",r.slice(y,s+1),y,s],b.push(w),y=s)}return y++,w},endOfFile:function(){return 0===k.length&&y>=x},position:function(){return y}}}})),$i=v(((CT,Lf)=>{l();var Nf=it(),br=class extends Nf{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};Lf.exports=br,br.default=br,Nf.registerAtRule(br)})),Et=v(((AT,Vf)=>{l();var jf,zf,$f=it(),yt=class extends $f{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}removeChild(e,t){let r=this.index(e);return!t&&0===r&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),super.removeChild(e)}normalize(e,t,r){let n=super.normalize(e);if(t)if("prepend"===r)this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let a of n)a.raws.before=t.raws.before;return n}toResult(e={}){return new jf(new zf,this,e).stringify()}};yt.registerLazyResult=i=>{jf=i},yt.registerProcessor=i=>{zf=i},Vf.exports=yt,yt.default=yt,$f.registerRoot(yt)})),Ts=v(((_T,Uf)=>{l();var vr={split(i,e,t){let r=[],n="",a=!1,s=0,o=!1,u="",c=!1;for(let f of i)c?c=!1:"\\"===f?c=!0:o?f===u&&(o=!1):'"'===f||"'"===f?(o=!0,u=f):"("===f?s+=1:")"===f?s>0&&(s-=1):0===s&&e.includes(f)&&(a=!0),a?(""!==n&&r.push(n.trim()),n="",a=!1):n+=f;return(t||""!==n)&&r.push(n.trim()),r},space(i){let e=[" ","\n","\t"];return vr.split(i,e)},comma:i=>vr.split(i,[","],!0)};Uf.exports=vr,vr.default=vr})),ji=v(((OT,Gf)=>{l();var Wf=it(),T0=Ts(),xr=class extends Wf{constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return T0.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\s*/):null,r=t?t[0]:","+this.raw("between","beforeOpen");this.selector=e.join(r)}};Gf.exports=xr,xr.default=xr,Wf.registerRule(xr)})),Xf=v(((ET,Jf)=>{l();var P0=gr(),D0=Ff(),I0=yr(),q0=$i(),R0=Et(),Hf=ji(),Yf={empty:!0,space:!0};Jf.exports=class{constructor(e){this.input=e,this.root=new R0,this.current=this.root,this.spaces="",this.semicolon=!1,this.customProperty=!1,this.createTokenizer(),this.root.source={input:e,start:{offset:0,line:1,column:1}}}createTokenizer(){this.tokenizer=D0(this.input)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e)}this.endFile()}comment(e){let t=new I0;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]);let r=e[1].slice(2,-2);if(/^\s*$/.test(r))t.text="",t.raws.left=r,t.raws.right="";else{let n=r.match(/^(\s*)([^]*\S)(\s*)$/);t.text=n[2],t.raws.left=n[1],t.raws.right=n[3]}}emptyRule(e){let t=new Hf;this.init(t,e[2]),t.selector="",t.raws.between="",this.current=t}other(e){let t=!1,r=null,n=!1,a=null,s=[],o=e[1].startsWith("--"),u=[],c=e;for(;c;){if(r=c[0],u.push(c),"("===r||"["===r)a||(a=c),s.push("("===r?")":"]");else if(o&&n&&"{"===r)a||(a=c),s.push("}");else if(0===s.length){if(";"===r){if(n)return void this.decl(u,o);break}if("{"===r)return void this.rule(u);if("}"===r){this.tokenizer.back(u.pop()),t=!0;break}":"===r&&(n=!0)}else r===s[s.length-1]&&(s.pop(),0===s.length&&(a=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),s.length>0&&this.unclosedBracket(a),t&&n){if(!o)for(;u.length&&(c=u[u.length-1][0],"space"===c||"comment"===c);)this.tokenizer.back(u.pop());this.decl(u,o)}else this.unknownWord(u)}rule(e){e.pop();let t=new Hf;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t}decl(e,t){let r=new P0;this.init(r,e[0][2]);let a,n=e[e.length-1];for(";"===n[0]&&(this.semicolon=!0,e.pop()),r.source.end=this.getPosition(n[3]||n[2]||function(i){for(let e=i.length-1;e>=0;e--){let t=i[e],r=t[3]||t[2];if(r)return r}}(e));"word"!==e[0][0];)1===e.length&&this.unknownWord(e),r.raws.before+=e.shift()[1];for(r.source.start=this.getPosition(e[0][2]),r.prop="";e.length;){let c=e[0][0];if(":"===c||"space"===c||"comment"===c)break;r.prop+=e.shift()[1]}for(r.raws.between="";e.length;){if(a=e.shift(),":"===a[0]){r.raws.between+=a[1];break}"word"===a[0]&&/\w/.test(a[1])&&this.unknownWord([a]),r.raws.between+=a[1]}("_"===r.prop[0]||"*"===r.prop[0])&&(r.raws.before+=r.prop[0],r.prop=r.prop.slice(1));let o,s=[];for(;e.length&&(o=e[0][0],"space"===o||"comment"===o);)s.push(e.shift());this.precheckMissedSemicolon(e);for(let c=e.length-1;c>=0;c--){if(a=e[c],"!important"===a[1].toLowerCase()){r.important=!0;let f=this.stringFrom(e,c);f=this.spacesFromEnd(e)+f," !important"!==f&&(r.raws.important=f);break}if("important"===a[1].toLowerCase()){let f=e.slice(0),d="";for(let p=c;p>0;p--){let m=f[p][0];if(0===d.trim().indexOf("!")&&"space"!==m)break;d=f.pop()[1]+d}0===d.trim().indexOf("!")&&(r.important=!0,r.raws.important=d,e=f)}if("space"!==a[0]&&"comment"!==a[0])break}e.some((c=>"space"!==c[0]&&"comment"!==c[0]))&&(r.raws.between+=s.map((c=>c[1])).join(""),s=[]),this.raw(r,"value",s.concat(e),t),r.value.includes(":")&&!t&&this.checkMissedSemicolon(e)}atrule(e){let t=new q0;t.name=e[1].slice(1),""===t.name&&this.unnamedAtrule(t,e),this.init(t,e[2]);let r,n,a,s=!1,o=!1,u=[],c=[];for(;!this.tokenizer.endOfFile();){if(r=(e=this.tokenizer.nextToken())[0],"("===r||"["===r?c.push("("===r?")":"]"):"{"===r&&c.length>0?c.push("}"):r===c[c.length-1]&&c.pop(),0===c.length){if(";"===r){t.source.end=this.getPosition(e[2]),this.semicolon=!0;break}if("{"===r){o=!0;break}if("}"===r){if(u.length>0){for(a=u.length-1,n=u[a];n&&"space"===n[0];)n=u[--a];n&&(t.source.end=this.getPosition(n[3]||n[2]))}this.end(e);break}u.push(e)}else u.push(e);if(this.tokenizer.endOfFile()){s=!0;break}}t.raws.between=this.spacesAndCommentsFromEnd(u),u.length?(t.raws.afterName=this.spacesAndCommentsFromStart(u),this.raw(t,"params",u),s&&(e=u[u.length-1],t.source.end=this.getPosition(e[3]||e[2]),this.spaces=t.raws.between,t.raws.between="")):(t.raws.afterName="",t.params=""),o&&(t.nodes=[],this.current=t)}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let t=this.current.nodes[this.current.nodes.length-1];t&&"rule"===t.type&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(e){let t=this.input.fromOffset(e);return{offset:e,line:t.line,column:t.col}}init(e,t){this.current.push(e),e.source={start:this.getPosition(t),input:this.input},e.raws.before=this.spaces,this.spaces="","comment"!==e.type&&(this.semicolon=!1)}raw(e,t,r,n){let a,s,f,d,o=r.length,u="",c=!0;for(let p=0;pm+w[1]),"");e.raws[t]={value:u,raw:p}}e[t]=u}spacesAndCommentsFromEnd(e){let t,r="";for(;e.length&&(t=e[e.length-1][0],"space"===t||"comment"===t);)r=e.pop()[1]+r;return r}spacesAndCommentsFromStart(e){let t,r="";for(;e.length&&(t=e[0][0],"space"===t||"comment"===t);)r+=e.shift()[1];return r}spacesFromEnd(e){let t,r="";for(;e.length&&(t=e[e.length-1][0],"space"===t);)r=e.pop()[1]+r;return r}stringFrom(e,t){let r="";for(let n=t;n=0&&(n=e[a],"space"===n[0]||(r+=1,2!==r));a--);throw this.input.error("Missed semicolon","word"===n[0]?n[3]+1:n[2])}}})),Kf=v((()=>{l()})),ec=v(((DT,Zf)=>{l();Zf.exports={nanoid:(i=21)=>{let e="",t=i;for(;t--;)e+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return e},customAlphabet:(i,e=21)=>(t=e)=>{let r="",n=t;for(;n--;)r+=i[Math.random()*i.length|0];return r}}})),Ps=v(((IT,tc)=>{l(),tc.exports={}})),Vi=v(((qT,sc)=>{l();var{SourceMapConsumer:L0,SourceMapGenerator:$0}=Kf(),{fileURLToPath:rc,pathToFileURL:zi}=(ys(),af),{resolve:Ds,isAbsolute:Is}=(gt(),rf),{nanoid:j0}=ec(),qs=ws(),ic=ki(),z0=Ps(),Rs=Symbol("fromOffsetCache"),V0=Boolean(L0&&$0),nc=Boolean(Ds&&Is),kr=class{constructor(e,t={}){if(null==e||"object"==typeof e&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),"\ufeff"===this.css[0]||"￾"===this.css[0]?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,t.from&&(!nc||/^\w+:\/\//.test(t.from)||Is(t.from)?this.file=t.from:this.file=Ds(t.from)),nc&&V0){let r=new z0(this.css,t);if(r.text){this.map=r;let n=r.consumer().file;!this.file&&n&&(this.file=this.mapResolve(n))}}this.file||(this.id=""),this.map&&(this.map.file=this.from)}fromOffset(e){let t,r;if(this[Rs])r=this[Rs];else{let a=this.css.split("\n");r=new Array(a.length);let s=0;for(let o=0,u=a.length;o=t)n=r.length-1;else{let s,a=r.length-2;for(;n>1),e=r[s+1])){n=s;break}n=s+1}}return{line:n+1,col:e-r[n]+1}}error(e,t,r,n={}){let a,s,o;if(t&&"object"==typeof t){let c=t,f=r;if("number"==typeof c.offset){let d=this.fromOffset(c.offset);t=d.line,r=d.col}else t=c.line,r=c.column;if("number"==typeof f.offset){let d=this.fromOffset(f.offset);s=d.line,o=d.col}else s=f.line,o=f.column}else if(!r){let c=this.fromOffset(t);t=c.line,r=c.col}let u=this.origin(t,r,s,o);return a=u?new ic(e,void 0===u.endLine?u.line:{line:u.line,column:u.column},void 0===u.endLine?u.column:{line:u.endLine,column:u.endColumn},u.source,u.file,n.plugin):new ic(e,void 0===s?t:{line:t,column:r},void 0===s?r:{line:s,column:o},this.css,this.file,n.plugin),a.input={line:t,column:r,endLine:s,endColumn:o,source:this.css},this.file&&(zi&&(a.input.url=zi(this.file).toString()),a.input.file=this.file),a}origin(e,t,r,n){if(!this.map)return!1;let o,u,a=this.map.consumer(),s=a.originalPositionFor({line:e,column:t});if(!s.source)return!1;"number"==typeof r&&(o=a.originalPositionFor({line:r,column:n})),u=Is(s.source)?zi(s.source):new URL(s.source,this.map.consumer().sourceRoot||zi(this.map.mapFile));let c={url:u.toString(),line:s.line,column:s.column,endLine:o&&o.line,endColumn:o&&o.column};if("file:"===u.protocol){if(!rc)throw new Error("file: protocol is not available in this PostCSS build");c.file=rc(u)}let f=a.sourceContentFor(s.source);return f&&(c.source=f),c}mapResolve(e){return/^\w+:\/\//.test(e)?e:Ds(this.map.consumer().sourceRoot||this.map.root||".",e)}get from(){return this.file||this.id}toJSON(){let e={};for(let t of["hasBOM","css","file","id"])null!=this[t]&&(e[t]=this[t]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}};sc.exports=kr,kr.default=kr,qs&&qs.registerInput&&qs.registerInput(kr)})),Wi=v(((RT,ac)=>{l();var U0=it(),W0=Xf(),G0=Vi();function Ui(i,e){let t=new G0(i,e),r=new W0(t);try{r.parse()}catch(n){throw n}return r.root}ac.exports=Ui,Ui.default=Ui,U0.registerParse(Ui)})),Fs=v(((BT,fc)=>{l();var{isClean:Ie,my:H0}=Si(),Y0=Ss(),Q0=hr(),J0=it(),X0=Ti(),oc=(_s(),Ii()),K0=Wi(),Z0=Et(),ev={document:"Document",root:"Root",atrule:"AtRule",rule:"Rule",decl:"Declaration",comment:"Comment"},tv={postcssPlugin:!0,prepare:!0,Once:!0,Document:!0,Root:!0,Declaration:!0,Rule:!0,AtRule:!0,Comment:!0,DeclarationExit:!0,RuleExit:!0,AtRuleExit:!0,CommentExit:!0,RootExit:!0,DocumentExit:!0,OnceExit:!0},rv={postcssPlugin:!0,prepare:!0,Once:!0},Tt=0;function Sr(i){return"object"==typeof i&&"function"==typeof i.then}function lc(i){let e=!1,t=ev[i.type];return"decl"===i.type?e=i.prop.toLowerCase():"atrule"===i.type&&(e=i.name.toLowerCase()),e&&i.append?[t,t+"-"+e,Tt,t+"Exit",t+"Exit-"+e]:e?[t,t+"-"+e,t+"Exit",t+"Exit-"+e]:i.append?[t,Tt,t+"Exit"]:[t,t+"Exit"]}function uc(i){let e;return e="document"===i.type?["Document",Tt,"DocumentExit"]:"root"===i.type?["Root",Tt,"RootExit"]:lc(i),{node:i,events:e,eventIndex:0,visitors:[],visitorIndex:0,iterator:0}}function Ms(i){return i[Ie]=!1,i.nodes&&i.nodes.forEach((e=>Ms(e))),i}var Bs={},Ve=class{constructor(e,t,r){let n;if(this.stringified=!1,this.processed=!1,"object"!=typeof t||null===t||"root"!==t.type&&"document"!==t.type)if(t instanceof Ve||t instanceof oc)n=Ms(t.root),t.map&&(void 0===r.map&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=t.map);else{let a=K0;r.syntax&&(a=r.syntax.parse),r.parser&&(a=r.parser),a.parse&&(a=a.parse);try{n=a(t,r)}catch(s){this.processed=!0,this.error=s}n&&!n[H0]&&J0.rebuild(n)}else n=Ms(t);this.result=new oc(e,n,r),this.helpers={...Bs,result:this.result,postcss:Bs},this.plugins=this.processor.plugins.map((a=>"object"==typeof a&&a.prepare?{...a,...a.prepare(this.result)}:a))}get[Symbol.toStringTag](){return"LazyResult"}get processor(){return this.result.processor}get opts(){return this.result.opts}get css(){return this.stringify().css}get content(){return this.stringify().content}get map(){return this.stringify().map}get root(){return this.sync().root}get messages(){return this.sync().messages}warnings(){return this.sync().warnings()}toString(){return this.css}then(e,t){return this.async().then(e,t)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){if(Sr(this.runOnRoot(e)))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Ie];)e[Ie]=!0,this.walkSync(e);if(this.listeners.OnceExit)if("document"===e.type)for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=Q0;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let n=new Y0(t,this.result.root,this.result.opts).generate();return this.result.css=n[0],this.result.map=n[1],this.result}walkSync(e){e[Ie]=!0;let t=lc(e);for(let r of t)if(r===Tt)e.nodes&&e.each((n=>{n[Ie]||this.walkSync(n)}));else{let n=this.listeners[r];if(n&&this.visitSync(n,e.toProxy()))return}}visitSync(e,t){for(let[r,n]of e){let a;this.result.lastPlugin=r;try{a=n(t,this.helpers)}catch(s){throw this.handleError(s,t.proxyOf)}if("root"!==t.type&&"document"!==t.type&&!t.parent)return!0;if(Sr(a))throw this.getAsyncError()}}runOnRoot(e){this.result.lastPlugin=e;try{if("object"==typeof e&&e.Once){if("document"===this.result.root.type){let t=this.result.root.nodes.map((r=>e.Once(r,this.helpers)));return Sr(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}if("function"==typeof e)return e(this.result.root,this.result)}catch(t){throw this.handleError(t)}}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,t){let r=this.result.lastPlugin;try{t&&t.addToError(e),this.error=e,"CssSyntaxError"!==e.name||e.plugin?r.postcssVersion:(e.plugin=r.postcssPlugin,e.setMessage())}catch(n){console&&console.error&&console.error(n)}return e}async runAsync(){this.plugin=0;for(let e=0;e0;){let r=this.visitTick(t);if(Sr(r))try{await r}catch(n){let a=t[t.length-1].node;throw this.handleError(n,a)}}}if(this.listeners.OnceExit)for(let[t,r]of this.listeners.OnceExit){this.result.lastPlugin=t;try{if("document"===e.type){let n=e.nodes.map((a=>r(a,this.helpers)));await Promise.all(n)}else await r(e,this.helpers)}catch(n){throw this.handleError(n)}}}return this.processed=!0,this.stringify()}prepareVisitors(){this.listeners={};let e=(t,r,n)=>{this.listeners[r]||(this.listeners[r]=[]),this.listeners[r].push([t,n])};for(let t of this.plugins)if("object"==typeof t)for(let r in t){if(!tv[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!rv[r])if("object"==typeof t[r])for(let n in t[r])e(t,"*"===n?r:r+"-"+n.toLowerCase(),t[r][n]);else"function"==typeof t[r]&&e(t,r,t[r])}this.hasListener=Object.keys(this.listeners).length>0}visitTick(e){let t=e[e.length-1],{node:r,visitors:n}=t;if("root"!==r.type&&"document"!==r.type&&!r.parent)return void e.pop();if(n.length>0&&t.visitorIndex{Bs=i},fc.exports=Ve,Ve.default=Ve,Z0.registerLazyResult(Ve),X0.registerLazyResult(Ve)})),pc=v(((NT,cc)=>{l();var iv=Ss(),nv=hr(),sv=(_s(),Wi()),av=Ii(),Gi=class{constructor(e,t,r){t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=r,this._map=void 0;let n,a=nv;this.result=new av(this._processor,n,this._opts),this.result.css=t;let s=this;Object.defineProperty(this.result,"root",{get:()=>s.root});let o=new iv(a,n,this._opts,t);if(o.isMap()){let[u,c]=o.generate();u&&(this.result.css=u),c&&(this.result.map=c)}}get[Symbol.toStringTag](){return"NoWorkResult"}get processor(){return this.result.processor}get opts(){return this.result.opts}get css(){return this.result.css}get content(){return this.result.css}get map(){return this.result.map}get root(){if(this._root)return this._root;let e,t=sv;try{e=t(this._css,this._opts)}catch(r){this.error=r}if(this.error)throw this.error;return this._root=e,e}get messages(){return[]}warnings(){return[]}toString(){return this._css}then(e,t){return this.async().then(e,t)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}sync(){if(this.error)throw this.error;return this.result}};cc.exports=Gi,Gi.default=Gi})),hc=v(((LT,dc)=>{l();var ov=pc(),lv=Fs(),uv=Ti(),fv=Et(),Pt=class{constructor(e=[]){this.version="8.4.24",this.plugins=this.normalize(e)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}process(e,t={}){return 0===this.plugins.length&&void 0===t.parser&&void 0===t.stringifier&&void 0===t.syntax?new ov(this,e,t):new lv(this,e,t)}normalize(e){let t=[];for(let r of e)if(!0===r.postcss?r=r():r.postcss&&(r=r.postcss),"object"==typeof r&&Array.isArray(r.plugins))t=t.concat(r.plugins);else if("object"==typeof r&&r.postcssPlugin)t.push(r);else if("function"==typeof r)t.push(r);else if("object"!=typeof r||!r.parse&&!r.stringify)throw new Error(r+" is not a PostCSS plugin");return t}};dc.exports=Pt,Pt.default=Pt,fv.registerProcessor(Pt),uv.registerProcessor(Pt)})),gc=v((($T,mc)=>{l();var cv=gr(),pv=Ps(),dv=yr(),hv=$i(),mv=Vi(),gv=Et(),yv=ji();function Cr(i,e){if(Array.isArray(i))return i.map((n=>Cr(n)));let{inputs:t,...r}=i;if(t){e=[];for(let n of t){let a={...n,__proto__:mv.prototype};a.map&&(a.map={...a.map,__proto__:pv.prototype}),e.push(a)}}if(r.nodes&&(r.nodes=i.nodes.map((n=>Cr(n,e)))),r.source){let{inputId:n,...a}=r.source;r.source=a,null!=n&&(r.source.input=e[n])}if("root"===r.type)return new gv(r);if("decl"===r.type)return new cv(r);if("rule"===r.type)return new yv(r);if("comment"===r.type)return new dv(r);if("atrule"===r.type)return new hv(r);throw new Error("Unknown node type: "+i.type)}mc.exports=Cr,Cr.default=Cr})),ge=v(((jT,Sc)=>{l();var wv=ki(),yc=gr(),bv=Fs(),vv=it(),Ns=hc(),xv=hr(),kv=gc(),wc=Ti(),Sv=Os(),bc=yr(),vc=$i(),Cv=Ii(),Av=Vi(),_v=Wi(),Ov=Ts(),xc=ji(),kc=Et(),Ev=mr();function z(...i){return 1===i.length&&Array.isArray(i[0])&&(i=i[0]),new Ns(i)}z.plugin=function(e,t){let a,r=!1;function n(...s){console&&console.warn&&!r&&(r=!0,console.warn(e+": postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration"),h.env.LANG&&h.env.LANG.startsWith("cn")&&console.warn(e+": 里面 postcss.plugin 被弃用. 迁移指南:\nhttps://www.w3ctech.com/topic/2226"));let o=t(...s);return o.postcssPlugin=e,o.postcssVersion=(new Ns).version,o}return Object.defineProperty(n,"postcss",{get:()=>(a||(a=n()),a)}),n.process=function(s,o,u){return z([n(u)]).process(s,o)},n},z.stringify=xv,z.parse=_v,z.fromJSON=kv,z.list=Ov,z.comment=i=>new bc(i),z.atRule=i=>new vc(i),z.decl=i=>new yc(i),z.rule=i=>new xc(i),z.root=i=>new kc(i),z.document=i=>new wc(i),z.CssSyntaxError=wv,z.Declaration=yc,z.Container=vv,z.Processor=Ns,z.Document=wc,z.Comment=bc,z.Warning=Sv,z.AtRule=vc,z.Result=Cv,z.Input=Av,z.Rule=xc,z.Root=kc,z.Node=Ev,bv.registerPostcss(z),Sc.exports=z,z.default=z})),nt=C((()=>{l(),W=K(ge()),V=W.default,W.default.stringify,W.default.fromJSON,W.default.plugin,W.default.parse,W.default.list,W.default.document,W.default.comment,W.default.atRule,W.default.rule,W.default.decl,W.default.root,W.default.CssSyntaxError,W.default.Declaration,W.default.Container,W.default.Processor,W.default.Document,W.default.Comment,W.default.Warning,W.default.AtRule,W.default.Result,W.default.Input,W.default.Rule,W.default.Root,W.default.Node})),Ls=v(((d3,Cc)=>{l(),Cc.exports=function(i,e,t,r,n){for(e=e.split?e.split("."):e,r=0;r{function Tv(i){for(var e=i.toLowerCase(),t="",r=!1,n=0;n<6&&void 0!==e[n];n++){var a=e.charCodeAt(n);if(r=32===a,!(a>=97&&a<=102||a>=48&&a<=57))break;t+=e[n]}if(0!==t.length){var o=parseInt(t,16);return o>=55296&&o<=57343||0===o||o>1114111?["�",t.length+(r?1:0)]:[String.fromCodePoint(o),t.length+(r?1:0)]}}l(),Hi.__esModule=!0,Hi.default=function(i){if(!Pv.test(i))return i;for(var t="",r=0;r{l(),Qi.__esModule=!0,Qi.default=function(i){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r0;){var n=t.shift();if(!i[n])return;i=i[n]}return i},_c.exports=Qi.default})),Tc=v(((Ji,Ec)=>{l(),Ji.__esModule=!0,Ji.default=function(i){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r0;){var n=t.shift();i[n]||(i[n]={}),i=i[n]}},Ec.exports=Ji.default})),Dc=v(((Xi,Pc)=>{l(),Xi.__esModule=!0,Xi.default=function(i){for(var e="",t=i.indexOf("/*"),r=0;t>=0;){e+=i.slice(r,t);var n=i.indexOf("*/",t+2);if(n<0)return e;r=n+2,t=i.indexOf("/*",r)}return e+=i.slice(r)},Pc.exports=Xi.default})),Ar=v((qe=>{l(),qe.__esModule=!0,qe.unesc=qe.stripComments=qe.getProp=qe.ensureObject=void 0;var Mv=Ki(Yi());qe.unesc=Mv.default;var Bv=Ki(Oc());qe.getProp=Bv.default;var Fv=Ki(Tc());qe.ensureObject=Fv.default;var Nv=Ki(Dc());function Ki(i){return i&&i.__esModule?i:{default:i}}qe.stripComments=Nv.default})),Ue=v(((_r,Rc)=>{l(),_r.__esModule=!0,_r.default=void 0;var Ic=Ar();function qc(i,e){for(var t=0;tr||this.source.end.linen||this.source.end.line===r&&this.source.end.column{l(),G.__esModule=!0,G.UNIVERSAL=G.TAG=G.STRING=G.SELECTOR=G.ROOT=G.PSEUDO=G.NESTING=G.ID=G.COMMENT=G.COMBINATOR=G.CLASS=G.ATTRIBUTE=void 0;G.TAG="tag";G.STRING="string";G.SELECTOR="selector";G.ROOT="root";G.PSEUDO="pseudo";G.NESTING="nesting";G.ID="id";G.COMMENT="comment";G.COMBINATOR="combinator";G.CLASS="class";G.ATTRIBUTE="attribute";G.UNIVERSAL="universal"})),Zi=v(((Or,Nc)=>{l(),Or.__esModule=!0,Or.default=void 0;var i,ex=(i=Ue())&&i.__esModule?i:{default:i},We=function(i,e){if(!e&&i&&i.__esModule)return i;if(null===i||"object"!=typeof i&&"function"!=typeof i)return{default:i};var t=Mc(e);if(t&&t.has(i))return t.get(i);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in i)if("default"!==a&&Object.prototype.hasOwnProperty.call(i,a)){var s=n?Object.getOwnPropertyDescriptor(i,a):null;s&&(s.get||s.set)?Object.defineProperty(r,a,s):r[a]=i[a]}return r.default=i,t&&t.set(i,r),r}(se());function Mc(i){if("function"!=typeof WeakMap)return null;var e=new WeakMap,t=new WeakMap;return(Mc=function(n){return n?t:e})(i)}function ix(i,e){var t="undefined"!=typeof Symbol&&i[Symbol.iterator]||i["@@iterator"];if(t)return(t=t.call(i)).next.bind(t);if(Array.isArray(i)||(t=function(i,e){if(i){if("string"==typeof i)return Bc(i,e);var t=Object.prototype.toString.call(i).slice(8,-1);if("Object"===t&&i.constructor&&(t=i.constructor.name),"Map"===t||"Set"===t)return Array.from(i);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Bc(i,e)}}(i))||e&&i&&"number"==typeof i.length){t&&(i=t);var r=0;return function(){return r>=i.length?{done:!0}:{done:!1,value:i[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function Bc(i,e){(null==e||e>i.length)&&(e=i.length);for(var t=0,r=new Array(e);t=n&&(this.indexes[s]=a-1);return this},t.removeAll=function(){for(var a,n=ix(this.nodes);!(a=n()).done;){a.value.parent=void 0}return this.nodes=[],this},t.empty=function(){return this.removeAll()},t.insertAfter=function(n,a){a.parent=this;var o,s=this.index(n);for(var u in this.nodes.splice(s+1,0,a),a.parent=this,this.indexes)s<=(o=this.indexes[u])&&(this.indexes[u]=o+1);return this},t.insertBefore=function(n,a){a.parent=this;var o,s=this.index(n);for(var u in this.nodes.splice(s,0,a),a.parent=this,this.indexes)(o=this.indexes[u])<=s&&(this.indexes[u]=o+1);return this},t._findChildAtPosition=function(n,a){var s=void 0;return this.each((function(o){if(o.atPosition){var u=o.atPosition(n,a);if(u)return s=u,!1}else if(o.isAtPosition(n,a))return s=o,!1})),s},t.atPosition=function(n,a){if(this.isAtPosition(n,a))return this._findChildAtPosition(n,a)||this},t._inferEndPosition=function(){this.last&&this.last.source&&this.last.source.end&&(this.source=this.source||{},this.source.end=this.source.end||{},Object.assign(this.source.end,this.last.source.end))},t.each=function(n){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var a=this.lastEach;if(this.indexes[a]=0,this.length){for(var s,o;this.indexes[a]{l(),Er.__esModule=!0,Er.default=void 0;var i,lx=(i=Zi())&&i.__esModule?i:{default:i},ux=se();function Lc(i,e){for(var t=0;t{l(),Tr.__esModule=!0,Tr.default=void 0;var i,hx=(i=Zi())&&i.__esModule?i:{default:i},mx=se();function Vs(i,e){return(Vs=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r})(i,e)}var wx=function(i){function e(t){var r;return(r=i.call(this,t)||this).type=mx.SELECTOR,r}return function(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,Vs(i,e)}(e,i),e}(hx.default);Tr.default=wx,jc.exports=Tr.default})),en=v(((g3,zc)=>{l();var vx={}.hasOwnProperty,kx=/[ -,\.\/:-@\[-\^`\{-~]/,Sx=/[ -,\.\/:-@\[\]\^`\{-~]/,Cx=/(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a-fA-F0-9\x20])/g,Ws=function i(e,t){t=function(e,t){if(!e)return t;var r={};for(var n in t)r[n]=vx.call(e,n)?e[n]:t[n];return r}(t,i.options),"single"!=t.quotes&&"double"!=t.quotes&&(t.quotes="single");for(var r="double"==t.quotes?'"':"'",n=t.isIdentifier,a=e.charAt(0),s="",o=0,u=e.length;o126){if(f>=55296&&f<=56319&&o{l(),Pr.__esModule=!0,Pr.default=void 0;var Ax=Vc(en()),_x=Ar(),Ox=Vc(Ue()),Ex=se();function Vc(i){return i&&i.__esModule?i:{default:i}}function Uc(i,e){for(var t=0;t{l(),Dr.__esModule=!0,Dr.default=void 0;var i,Ix=(i=Ue())&&i.__esModule?i:{default:i},qx=se();function Ys(i,e){return(Ys=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r})(i,e)}var Bx=function(i){function e(t){var r;return(r=i.call(this,t)||this).type=qx.COMMENT,r}return function(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,Ys(i,e)}(e,i),e}(Ix.default);Dr.default=Bx,Gc.exports=Dr.default})),Xs=v(((Ir,Hc)=>{l(),Ir.__esModule=!0,Ir.default=void 0;var i,Fx=(i=Ue())&&i.__esModule?i:{default:i},Nx=se();function Js(i,e){return(Js=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r})(i,e)}var jx=function(i){function e(r){var n;return(n=i.call(this,r)||this).type=Nx.ID,n}return function(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,Js(i,e)}(e,i),e.prototype.valueToString=function(){return"#"+i.prototype.valueToString.call(this)},e}(Fx.default);Ir.default=jx,Hc.exports=Ir.default})),tn=v(((qr,Jc)=>{l(),qr.__esModule=!0,qr.default=void 0;var zx=Yc(en()),Vx=Ar();function Yc(i){return i&&i.__esModule?i:{default:i}}function Qc(i,e){for(var t=0;t{l(),Rr.__esModule=!0,Rr.default=void 0;var i,Yx=(i=tn())&&i.__esModule?i:{default:i},Qx=se();function Zs(i,e){return(Zs=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r})(i,e)}var Kx=function(i){function e(t){var r;return(r=i.call(this,t)||this).type=Qx.TAG,r}return function(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,Zs(i,e)}(e,i),e}(Yx.default);Rr.default=Kx,Xc.exports=Rr.default})),ra=v(((Mr,Kc)=>{l(),Mr.__esModule=!0,Mr.default=void 0;var i,Zx=(i=Ue())&&i.__esModule?i:{default:i},e1=se();function ta(i,e){return(ta=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r})(i,e)}var i1=function(i){function e(t){var r;return(r=i.call(this,t)||this).type=e1.STRING,r}return function(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,ta(i,e)}(e,i),e}(Zx.default);Mr.default=i1,Kc.exports=Mr.default})),na=v(((Br,Zc)=>{l(),Br.__esModule=!0,Br.default=void 0;var i,n1=(i=Zi())&&i.__esModule?i:{default:i},s1=se();function ia(i,e){return(ia=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r})(i,e)}var l1=function(i){function e(r){var n;return(n=i.call(this,r)||this).type=s1.PSEUDO,n}return function(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,ia(i,e)}(e,i),e.prototype.toString=function(){var n=this.length?"("+this.map(String).join(",")+")":"";return[this.rawSpaceBefore,this.stringifyProperty("value"),n,this.rawSpaceAfter].join("")},e}(n1.default);Br.default=l1,Zc.exports=Br.default})),ep={};function u1(i){return i}Ae(ep,{deprecate:()=>u1});var tp=C((()=>{l()})),ip=v(((y3,rp)=>{l(),rp.exports=(tp(),ep).deprecate})),fa=v((Lr=>{l(),Lr.__esModule=!0,Lr.default=void 0,Lr.unescapeValue=la;var sa,Fr=aa(en()),f1=aa(Yi()),c1=aa(tn()),p1=se();function aa(i){return i&&i.__esModule?i:{default:i}}function np(i,e){for(var t=0;t0&&!n.quoted&&0===o.before.length&&!(n.spaces.value&&n.spaces.value.after)&&(o.before=" "),sp(s,o)})))),a.push("]"),a.push(this.rawSpaceAfter),a.join("")},function(i,e,t){e&&np(i.prototype,e),t&&np(i,t),Object.defineProperty(i,"prototype",{writable:!1})}(e,[{key:"quoted",get:function(){var n=this.quoteMark;return"'"===n||'"'===n},set:function(n){y1()}},{key:"quoteMark",get:function(){return this._quoteMark},set:function(n){this._constructed?this._quoteMark!==n&&(this._quoteMark=n,this._syncRawValue()):this._quoteMark=n}},{key:"qualifiedAttribute",get:function(){return this.qualifiedName(this.raws.attribute||this.attribute)}},{key:"insensitiveFlag",get:function(){return this.insensitive?"i":""}},{key:"value",get:function(){return this._value},set:function(n){if(this._constructed){var a=la(n),s=a.deprecatedUsage,o=a.unescaped,u=a.quoteMark;if(s&&g1(),o===this._value&&u===this._quoteMark)return;this._value=o,this._quoteMark=u,this._syncRawValue()}else this._value=n}},{key:"insensitive",get:function(){return this._insensitive},set:function(n){n||(this._insensitive=!1,this.raws&&("I"===this.raws.insensitiveFlag||"i"===this.raws.insensitiveFlag)&&(this.raws.insensitiveFlag=void 0)),this._insensitive=n}},{key:"attribute",get:function(){return this._attribute},set:function(n){this._handleEscapes("attribute",n),this._attribute=n}}]),e}(c1.default);Lr.default=rn,rn.NO_QUOTE=null,rn.SINGLE_QUOTE="'",rn.DOUBLE_QUOTE='"';var ua=((sa={"'":{quotes:"single",wrap:!0},'"':{quotes:"double",wrap:!0}}).null={isIdentifier:!0},sa);function sp(i,e){return""+e.before+i+e.after}})),pa=v((($r,ap)=>{l(),$r.__esModule=!0,$r.default=void 0;var i,v1=(i=tn())&&i.__esModule?i:{default:i},x1=se();function ca(i,e){return(ca=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r})(i,e)}var C1=function(i){function e(t){var r;return(r=i.call(this,t)||this).type=x1.UNIVERSAL,r.value="*",r}return function(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,ca(i,e)}(e,i),e}(v1.default);$r.default=C1,ap.exports=$r.default})),ha=v(((jr,op)=>{l(),jr.__esModule=!0,jr.default=void 0;var i,A1=(i=Ue())&&i.__esModule?i:{default:i},_1=se();function da(i,e){return(da=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r})(i,e)}var T1=function(i){function e(t){var r;return(r=i.call(this,t)||this).type=_1.COMBINATOR,r}return function(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,da(i,e)}(e,i),e}(A1.default);jr.default=T1,op.exports=jr.default})),ga=v(((zr,lp)=>{l(),zr.__esModule=!0,zr.default=void 0;var i,P1=(i=Ue())&&i.__esModule?i:{default:i},D1=se();function ma(i,e){return(ma=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r})(i,e)}var R1=function(i){function e(t){var r;return(r=i.call(this,t)||this).type=D1.NESTING,r.value="&",r}return function(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,ma(i,e)}(e,i),e}(P1.default);zr.default=R1,lp.exports=zr.default})),fp=v(((nn,up)=>{l(),nn.__esModule=!0,nn.default=function(i){return i.sort((function(e,t){return e-t}))},up.exports=nn.default})),ya=v((D=>{l(),D.__esModule=!0,D.word=D.tilde=D.tab=D.str=D.space=D.slash=D.singleQuote=D.semicolon=D.plus=D.pipe=D.openSquare=D.openParenthesis=D.newline=D.greaterThan=D.feed=D.equals=D.doubleQuote=D.dollar=D.cr=D.comment=D.comma=D.combinator=D.colon=D.closeSquare=D.closeParenthesis=D.caret=D.bang=D.backslash=D.at=D.asterisk=D.ampersand=void 0;D.ampersand=38;D.asterisk=42;D.at=64;D.comma=44;D.colon=58;D.semicolon=59;D.openParenthesis=40;D.closeParenthesis=41;D.openSquare=91;D.closeSquare=93;D.dollar=36;D.tilde=126;D.caret=94;D.plus=43;D.equals=61;D.pipe=124;D.greaterThan=62;D.space=32;D.singleQuote=39;D.doubleQuote=34;D.slash=47;D.bang=33;D.backslash=92;D.cr=13;D.feed=12;D.newline=10;D.tab=9;D.str=39;D.comment=-1;D.word=-2;D.combinator=-3})),hp=v((Vr=>{l(),Vr.__esModule=!0,Vr.FIELDS=void 0,Vr.default=function(i){var c,d,p,m,w,x,y,b,k,S,_,O,e=[],t=i.css.valueOf(),n=t.length,a=-1,s=1,o=0,u=0;function I(B,q){if(!i.safe)throw i.error("Unclosed "+B,s,o-a,o);b=(t+=q).length-1}for(;o0?(k=s+x,S=b-y[x].length):(k=s,S=a),O=E.comment,s=k,p=k,d=b-S):c===E.slash?(O=c,p=s,d=o-a,u=(b=o)+1):(b=mk(t,o),O=E.word,p=s,d=b-a),u=b+1}e.push([O,s,o-a,p,d,o,u]),S&&(a=S,S=null),o=u}return e};var Dt,U,E=function(i,e){if(!e&&i&&i.__esModule)return i;if(null===i||"object"!=typeof i&&"function"!=typeof i)return{default:i};var t=pp(e);if(t&&t.has(i))return t.get(i);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in i)if("default"!==a&&Object.prototype.hasOwnProperty.call(i,a)){var s=n?Object.getOwnPropertyDescriptor(i,a):null;s&&(s.get||s.set)?Object.defineProperty(r,a,s):r[a]=i[a]}return r.default=i,t&&t.set(i,r),r}(ya());function pp(i){if("function"!=typeof WeakMap)return null;var e=new WeakMap,t=new WeakMap;return(pp=function(n){return n?t:e})(i)}var sn,dk=((Dt={})[E.tab]=!0,Dt[E.newline]=!0,Dt[E.cr]=!0,Dt[E.feed]=!0,Dt),hk=((U={})[E.space]=!0,U[E.tab]=!0,U[E.newline]=!0,U[E.cr]=!0,U[E.feed]=!0,U[E.ampersand]=!0,U[E.asterisk]=!0,U[E.bang]=!0,U[E.comma]=!0,U[E.colon]=!0,U[E.semicolon]=!0,U[E.openParenthesis]=!0,U[E.closeParenthesis]=!0,U[E.openSquare]=!0,U[E.closeSquare]=!0,U[E.singleQuote]=!0,U[E.doubleQuote]=!0,U[E.plus]=!0,U[E.pipe]=!0,U[E.tilde]=!0,U[E.greaterThan]=!0,U[E.equals]=!0,U[E.dollar]=!0,U[E.caret]=!0,U[E.slash]=!0,U),wa={},dp="0123456789abcdefABCDEF";for(sn=0;sn<22;sn++)wa[dp.charCodeAt(sn)]=!0;function mk(i,e){var r,t=e;do{if(r=i.charCodeAt(t),hk[r])return t-1;r===E.backslash?t=gk(i,t)+1:t++}while(t{l(),Ur.__esModule=!0,Ur.default=void 0;var wt,ka,bk=be(zs()),ba=be(Us()),vk=be(Hs()),mp=be(Qs()),xk=be(Xs()),kk=be(ea()),va=be(ra()),Sk=be(na()),gp=an(fa()),Ck=be(pa()),xa=be(ha()),Ak=be(ga()),_k=be(fp()),A=an(hp()),T=an(ya()),Ok=an(se()),Q=Ar();function yp(i){if("function"!=typeof WeakMap)return null;var e=new WeakMap,t=new WeakMap;return(yp=function(n){return n?t:e})(i)}function an(i,e){if(!e&&i&&i.__esModule)return i;if(null===i||"object"!=typeof i&&"function"!=typeof i)return{default:i};var t=yp(e);if(t&&t.has(i))return t.get(i);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in i)if("default"!==a&&Object.prototype.hasOwnProperty.call(i,a)){var s=n?Object.getOwnPropertyDescriptor(i,a):null;s&&(s.get||s.set)?Object.defineProperty(r,a,s):r[a]=i[a]}return r.default=i,t&&t.set(i,r),r}function be(i){return i&&i.__esModule?i:{default:i}}function wp(i,e){for(var t=0;tthis.position&&(d=this.parseWhitespaceEquivalentTokens(n)),this.isNamedCombinator()?p=this.namedCombinator():this.currToken[A.FIELDS.TYPE]===T.combinator?(p=new xa.default({value:this.content(),source:It(this.currToken),sourceIndex:this.currToken[A.FIELDS.START_POS]}),this.position++):Sa[this.currToken[A.FIELDS.TYPE]]||d||this.unexpected(),p){if(d){var m=this.convertWhitespaceNodesToSpace(d),w=m.space,x=m.rawSpace;p.spaces.before=w,p.rawSpaceBefore=x}}else{var y=this.convertWhitespaceNodesToSpace(d,!0),b=y.space,k=y.rawSpace;k||(k=b);var S={},_={spaces:{}};b.endsWith(" ")&&k.endsWith(" ")?(S.before=b.slice(0,b.length-1),_.spaces.before=k.slice(0,k.length-1)):b.startsWith(" ")&&k.startsWith(" ")?(S.after=b.slice(1),_.spaces.after=k.slice(1)):_.value=k,p=new xa.default({value:" ",source:Ca(f,this.tokens[this.position-1]),sourceIndex:f[A.FIELDS.START_POS],spaces:S,raws:_})}return this.currToken&&this.currToken[A.FIELDS.TYPE]===T.space&&(p.spaces.after=this.optionalSpace(this.content()),this.position++),this.newNode(p)}var a=this.parseWhitespaceEquivalentTokens(n);if(a.length>0){var s=this.current.last;if(s){var o=this.convertWhitespaceNodesToSpace(a),u=o.space,c=o.rawSpace;void 0!==c&&(s.rawSpaceAfter+=c),s.spaces.after+=u}else a.forEach((function(O){return r.newNode(O)}))}},e.comma=function(){if(this.position===this.tokens.length-1)return this.root.trailingComma=!0,void this.position++;this.current._inferEndPosition();var r=new ba.default({source:{start:bp(this.tokens[this.position+1])}});this.current.parent.append(r),this.current=r,this.position++},e.comment=function(){var r=this.currToken;this.newNode(new mp.default({value:this.content(),source:It(r),sourceIndex:r[A.FIELDS.START_POS]})),this.position++},e.error=function(r,n){throw this.root.error(r,n)},e.missingBackslash=function(){return this.error("Expected a backslash preceding the semicolon.",{index:this.currToken[A.FIELDS.START_POS]})},e.missingParenthesis=function(){return this.expected("opening parenthesis",this.currToken[A.FIELDS.START_POS])},e.missingSquareBracket=function(){return this.expected("opening square bracket",this.currToken[A.FIELDS.START_POS])},e.unexpected=function(){return this.error("Unexpected '"+this.content()+"'. Escaping special characters with \\ may help.",this.currToken[A.FIELDS.START_POS])},e.unexpectedPipe=function(){return this.error("Unexpected '|'.",this.currToken[A.FIELDS.START_POS])},e.namespace=function(){var r=this.prevToken&&this.content(this.prevToken)||!0;return this.nextToken[A.FIELDS.TYPE]===T.word?(this.position++,this.word(r)):this.nextToken[A.FIELDS.TYPE]===T.asterisk?(this.position++,this.universal(r)):void this.unexpectedPipe()},e.nesting=function(){if(this.nextToken&&"|"===this.content(this.nextToken))return void this.position++;var n=this.currToken;this.newNode(new Ak.default({value:this.content(),source:It(n),sourceIndex:n[A.FIELDS.START_POS]})),this.position++},e.parentheses=function(){var r=this.current.last,n=1;if(this.position++,r&&r.type===Ok.PSEUDO){var a=new ba.default({source:{start:bp(this.tokens[this.position-1])}}),s=this.current;for(r.append(a),this.current=a;this.position1&&r.nextToken&&r.nextToken[A.FIELDS.TYPE]===T.openParenthesis&&r.error("Misplaced parenthesis.",{index:r.nextToken[A.FIELDS.START_POS]})})):this.expected(["pseudo-class","pseudo-element"],this.position-1)},e.space=function(){var r=this.content();0===this.position||this.prevToken[A.FIELDS.TYPE]===T.comma||this.prevToken[A.FIELDS.TYPE]===T.openParenthesis||this.current.nodes.every((function(n){return"comment"===n.type}))?(this.spaces=this.optionalSpace(r),this.position++):this.position===this.tokens.length-1||this.nextToken[A.FIELDS.TYPE]===T.comma||this.nextToken[A.FIELDS.TYPE]===T.closeParenthesis?(this.current.last.spaces.after=this.optionalSpace(r),this.position++):this.combinator()},e.string=function(){var r=this.currToken;this.newNode(new va.default({value:this.content(),source:It(r),sourceIndex:r[A.FIELDS.START_POS]})),this.position++},e.universal=function(r){var n=this.nextToken;if(n&&"|"===this.content(n))return this.position++,this.namespace();var a=this.currToken;this.newNode(new Ck.default({value:this.content(),source:It(a),sourceIndex:a[A.FIELDS.START_POS]}),r),this.position++},e.splitWord=function(r,n){for(var a=this,s=this.nextToken,o=this.content();s&&~[T.dollar,T.caret,T.equals,T.word].indexOf(s[A.FIELDS.TYPE]);){this.position++;var u=this.content();if(o+=u,u.lastIndexOf("\\")===u.length-1){var c=this.nextToken;c&&c[A.FIELDS.TYPE]===T.space&&(o+=this.requiredSpace(this.content(c)),this.position++)}s=this.nextToken}var f=Aa(o,".").filter((function(w){var x="\\"===o[w-1],y=/^\d+\.\d+%$/.test(o);return!x&&!y})),d=Aa(o,"#").filter((function(w){return"\\"!==o[w-1]})),p=Aa(o,"#{");p.length&&(d=d.filter((function(w){return!~p.indexOf(w)})));var m=(0,_k.default)(function(){var i=Array.prototype.concat.apply([],arguments);return i.filter((function(e,t){return t===i.indexOf(e)}))}([0].concat(f,d)));m.forEach((function(w,x){var y=m[x+1]||o.length,b=o.slice(w,y);if(0===x&&n)return n.call(a,b,m.length);var k,S=a.currToken,_=S[A.FIELDS.START_POS]+m[x],O=bt(S[1],S[2]+w,S[3],S[2]+(y-1));if(~f.indexOf(w)){var I={value:b.slice(1),source:O,sourceIndex:_};k=new vk.default(qt(I,"value"))}else if(~d.indexOf(w)){var B={value:b.slice(1),source:O,sourceIndex:_};k=new xk.default(qt(B,"value"))}else{var q={value:b,source:O,sourceIndex:_};qt(q,"value"),k=new kk.default(q)}a.newNode(k,r),r=null})),this.position++},e.word=function(r){var n=this.nextToken;return n&&"|"===this.content(n)?(this.position++,this.namespace()):this.splitWord(r)},e.loop=function(){for(;this.position{l(),Wr.__esModule=!0,Wr.default=void 0;var i,Ik=(i=kp())&&i.__esModule?i:{default:i};var Rk=function(){function i(t,r){this.func=t||function(){},this.funcRes=null,this.options=r}var e=i.prototype;return e._shouldUpdateSelector=function(r,n){return void 0===n&&(n={}),!1!==Object.assign({},this.options,n).updateSelector&&"string"!=typeof r},e._isLossy=function(r){return void 0===r&&(r={}),!1===Object.assign({},this.options,r).lossless},e._root=function(r,n){return void 0===n&&(n={}),new Ik.default(r,this._parseOptions(n)).root},e._parseOptions=function(r){return{lossy:this._isLossy(r)}},e._run=function(r,n){var a=this;return void 0===n&&(n={}),new Promise((function(s,o){try{var u=a._root(r,n);Promise.resolve(a.func(u)).then((function(c){var f=void 0;return a._shouldUpdateSelector(r,n)&&(f=u.toString(),r.selector=f),{transform:c,root:u,string:f}})).then(s,o)}catch(c){return void o(c)}}))},e._runSync=function(r,n){void 0===n&&(n={});var a=this._root(r,n),s=this.func(a);if(s&&"function"==typeof s.then)throw new Error("Selector processor returned a promise to a synchronous call.");var o=void 0;return n.updateSelector&&"string"!=typeof r&&(o=a.toString(),r.selector=o),{transform:s,root:a,string:o}},e.ast=function(r,n){return this._run(r,n).then((function(a){return a.root}))},e.astSync=function(r,n){return this._runSync(r,n).root},e.transform=function(r,n){return this._run(r,n).then((function(a){return a.transform}))},e.transformSync=function(r,n){return this._runSync(r,n).transform},e.process=function(r,n){return this._run(r,n).then((function(a){return a.string||a.root.toString()}))},e.processSync=function(r,n){var a=this._runSync(r,n);return a.string||a.root.toString()},i}();Wr.default=Rk,Sp.exports=Wr.default})),Ap=v((H=>{l(),H.__esModule=!0,H.universal=H.tag=H.string=H.selector=H.root=H.pseudo=H.nesting=H.id=H.comment=H.combinator=H.className=H.attribute=void 0;var Mk=ve(fa()),Bk=ve(Hs()),Fk=ve(ha()),Nk=ve(Qs()),Lk=ve(Xs()),$k=ve(ga()),jk=ve(na()),zk=ve(zs()),Vk=ve(Us()),Uk=ve(ra()),Wk=ve(ea()),Gk=ve(pa());function ve(i){return i&&i.__esModule?i:{default:i}}H.attribute=function(e){return new Mk.default(e)};H.className=function(e){return new Bk.default(e)};H.combinator=function(e){return new Fk.default(e)};H.comment=function(e){return new Nk.default(e)};H.id=function(e){return new Lk.default(e)};H.nesting=function(e){return new $k.default(e)};H.pseudo=function(e){return new jk.default(e)};H.root=function(e){return new zk.default(e)};H.selector=function(e){return new Vk.default(e)};H.string=function(e){return new Uk.default(e)};H.tag=function(e){return new Wk.default(e)};H.universal=function(e){return new Gk.default(e)}})),Tp=v(($=>{l(),$.__esModule=!0,$.isComment=$.isCombinator=$.isClassName=$.isAttribute=void 0,$.isContainer=function(i){return!(!_a(i)||!i.walk)},$.isIdentifier=void 0,$.isNamespace=function(i){return _p(i)||Op(i)},$.isNesting=void 0,$.isNode=_a,$.isPseudo=void 0,$.isPseudoClass=function(i){return Oa(i)&&!Ep(i)},$.isPseudoElement=Ep,$.isUniversal=$.isTag=$.isString=$.isSelector=$.isRoot=void 0;var pe,J=se(),sS=((pe={})[J.ATTRIBUTE]=!0,pe[J.CLASS]=!0,pe[J.COMBINATOR]=!0,pe[J.COMMENT]=!0,pe[J.ID]=!0,pe[J.NESTING]=!0,pe[J.PSEUDO]=!0,pe[J.ROOT]=!0,pe[J.SELECTOR]=!0,pe[J.STRING]=!0,pe[J.TAG]=!0,pe[J.UNIVERSAL]=!0,pe);function _a(i){return"object"==typeof i&&sS[i.type]}function xe(i,e){return _a(e)&&e.type===i}var _p=xe.bind(null,J.ATTRIBUTE);$.isAttribute=_p;var aS=xe.bind(null,J.CLASS);$.isClassName=aS;var oS=xe.bind(null,J.COMBINATOR);$.isCombinator=oS;var lS=xe.bind(null,J.COMMENT);$.isComment=lS;var uS=xe.bind(null,J.ID);$.isIdentifier=uS;var fS=xe.bind(null,J.NESTING);$.isNesting=fS;var Oa=xe.bind(null,J.PSEUDO);$.isPseudo=Oa;var cS=xe.bind(null,J.ROOT);$.isRoot=cS;var pS=xe.bind(null,J.SELECTOR);$.isSelector=pS;var dS=xe.bind(null,J.STRING);$.isString=dS;var Op=xe.bind(null,J.TAG);$.isTag=Op;var hS=xe.bind(null,J.UNIVERSAL);function Ep(i){return Oa(i)&&i.value&&(i.value.startsWith("::")||":before"===i.value.toLowerCase()||":after"===i.value.toLowerCase()||":first-letter"===i.value.toLowerCase()||":first-line"===i.value.toLowerCase())}$.isUniversal=hS})),Pp=v((Ee=>{l(),Ee.__esModule=!0;var Ea=se();Object.keys(Ea).forEach((function(i){"default"===i||"__esModule"===i||i in Ee&&Ee[i]===Ea[i]||(Ee[i]=Ea[i])}));var Ta=Ap();Object.keys(Ta).forEach((function(i){"default"===i||"__esModule"===i||i in Ee&&Ee[i]===Ta[i]||(Ee[i]=Ta[i])}));var Pa=Tp();Object.keys(Pa).forEach((function(i){"default"===i||"__esModule"===i||i in Ee&&Ee[i]===Pa[i]||(Ee[i]=Pa[i])}))})),Re=v(((Gr,Ip)=>{l(),Gr.__esModule=!0,Gr.default=void 0;var i,wS=(i=Cp())&&i.__esModule?i:{default:i},bS=function(i,e){if(!e&&i&&i.__esModule)return i;if(null===i||"object"!=typeof i&&"function"!=typeof i)return{default:i};var t=Dp(e);if(t&&t.has(i))return t.get(i);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in i)if("default"!==a&&Object.prototype.hasOwnProperty.call(i,a)){var s=n?Object.getOwnPropertyDescriptor(i,a):null;s&&(s.get||s.set)?Object.defineProperty(r,a,s):r[a]=i[a]}return r.default=i,t&&t.set(i,r),r}(Pp());function Dp(i){if("function"!=typeof WeakMap)return null;var e=new WeakMap,t=new WeakMap;return(Dp=function(n){return n?t:e})(i)}var Da=function(e){return new wS.default(e)};Object.assign(Da,bS),delete Da.__esModule;var kS=Da;Gr.default=kS,Ip.exports=Gr.default}));function Ge(i){return["fontSize","outline"].includes(i)?e=>("function"==typeof e&&(e=e({})),Array.isArray(e)&&(e=e[0]),e):"fontFamily"===i?e=>{"function"==typeof e&&(e=e({}));let t=Array.isArray(e)&&ne(e[1])?e[0]:e;return Array.isArray(t)?t.join(", "):t}:["boxShadow","transitionProperty","transitionDuration","transitionDelay","transitionTimingFunction","backgroundImage","backgroundSize","backgroundColor","cursor","animation"].includes(i)?e=>("function"==typeof e&&(e=e({})),Array.isArray(e)&&(e=e.join(", ")),e):["gridTemplateColumns","gridTemplateRows","objectPosition"].includes(i)?e=>("function"==typeof e&&(e=e({})),"string"==typeof e&&(e=V.list.comma(e).join(" ")),e):(e,t={})=>("function"==typeof e&&(e=e(t)),e)}var Rt,rd,Hr=C((()=>{l(),nt(),kt()})),Lp=v(((O3,Ba)=>{l();var{Rule:qp,AtRule:SS}=ge(),Rp=Re();function Ia(i,e){let t;try{Rp((r=>{t=r})).processSync(i)}catch(r){throw i.includes(":")?e?e.error("Missed semicolon"):r:e?e.error(r.message):r}return t.at(0)}function Mp(i,e){let t=!1;return i.each((r=>{if("nesting"===r.type){let n=e.clone({});"&"!==r.value?r.replaceWith(Ia(r.value.replace("&",n.toString()))):r.replaceWith(n),t=!0}else"nodes"in r&&r.nodes&&Mp(r,e)&&(t=!0)})),t}function Bp(i,e){let t=[];return i.selectors.forEach((r=>{let n=Ia(r,i);e.selectors.forEach((a=>{if(!a)return;let s=Ia(a,e);Mp(s,n)||(s.prepend(Rp.combinator({value:" "})),s.prepend(n.clone({}))),t.push(s.toString())}))})),t}function on(i,e){let t=i.prev();for(e.after(i);t&&"comment"===t.type;){let r=t.prev();e.after(t),t=r}return i}function qa(i,e,t){let r=new qp({selector:i,nodes:[]});return r.append(e),t.after(r),r}function Fp(i,e){let t={};for(let r of i)t[r]=!0;if(e)for(let r of e)t[r.replace(/^@/,"")]=!0;return t}function OS(i){let e=i[Np];if(e){let r,a,s,o,t=i.nodes,n=-1,u=function(i){let e=[],t=i.parent;for(;t&&t instanceof SS;)e.push(t),t=t.parent;return e}(i);if(u.forEach(((c,f)=>{if(e(c.name))r=c,n=f,s=o;else{let d=o;o=c.clone({nodes:[]}),d&&o.append(d),a=a||o}})),r?s?(a.append(t),r.after(s)):r.after(t):i.after(t),i.next()&&r){let c;u.slice(0,n+1).forEach(((f,d,p)=>{let m=c;c=f.clone({nodes:[]}),m&&c.append(m);let w=[],y=(p[d-1]||i).next();for(;y;)w.push(y),y=y.next();c.append(w)})),c&&(s||t[t.length-1]).after(c)}}else i.after(i.nodes);i.remove()}var Ra=Symbol("rootRuleMergeSel"),Np=Symbol("rootRuleEscapes");function ES(i){let{params:e}=i,{type:t,selector:r,escapes:n}=function(i){let e=(i=i.trim()).match(/^\((.*)\)$/);if(!e)return{type:"basic",selector:i};let t=e[1].match(/^(with(?:out)?):(.+)$/);if(t){let r="with"===t[1],n=Object.fromEntries(t[2].trim().split(/\s+/).map((s=>[s,!0])));if(r&&n.all)return{type:"noop"};let a=s=>!!n[s];return n.all?a=()=>!0:r&&(a=s=>"all"!==s&&!n[s]),{type:"withrules",escapes:a}}return{type:"unknown"}}(e);if("unknown"===t)throw i.error(`Unknown @${i.name} parameter ${JSON.stringify(e)}`);if("basic"===t&&r){let a=new qp({selector:r,nodes:i.nodes});i.removeAll(),i.append(a)}i[Np]=n,i[Ra]=n?!n("all"):"noop"===t}var Ma=Symbol("hasRootRule");Ba.exports=(i={})=>{let e=Fp(["media","supports","layer","container"],i.bubble),t=function(i){return function e(t,r,n,a=n){let s=[];if(r.each((o=>{"rule"===o.type&&n?a&&(o.selectors=Bp(t,o)):"atrule"===o.type&&o.nodes?i[o.name]?e(t,o,a):!1!==r[Ra]&&s.push(o):s.push(o)})),n&&s.length){let o=t.clone({nodes:[]});for(let u of s)o.append(u);r.prepend(o)}}}(e),r=Fp(["document","font-face","keyframes","-webkit-keyframes","-moz-keyframes"],i.unwrap),n=(i.rootRuleName||"at-root").replace(/^@/,""),a=i.preserveEmpty;return{postcssPlugin:"postcss-nested",Once(s){s.walkAtRules(n,(o=>{ES(o),s[Ma]=!0}))},Rule(s){let o=!1,u=s,c=!1,f=[];s.each((d=>{"rule"===d.type?(f.length&&(u=qa(s.selector,f,u),f=[]),c=!0,o=!0,d.selectors=Bp(s,d),u=on(d,u)):"atrule"===d.type?(f.length&&(u=qa(s.selector,f,u),f=[]),d.name===n?(o=!0,t(s,d,!0,d[Ra]),u=on(d,u)):e[d.name]?(c=!0,o=!0,t(s,d,!0),u=on(d,u)):r[d.name]?(c=!0,o=!0,t(s,d,!1),u=on(d,u)):c&&f.push(d)):"decl"===d.type&&c&&f.push(d)})),f.length&&(u=qa(s.selector,f,u)),o&&!0!==a&&(s.raws.semicolon=!0,0===s.nodes.length&&s.remove())},RootExit(s){s[Ma]&&(s.walkAtRules(n,OS),s[Ma]=!1)}}},Ba.exports.postcss=!0})),Vp=v(((E3,zp)=>{l();var $p=/-(\w|$)/g,jp=(i,e)=>e.toUpperCase();zp.exports=i=>"float"===(i=i.toLowerCase())?"cssFloat":i.startsWith("-ms-")?i.substr(1).replace($p,jp):i.replace($p,jp)})),La=v(((T3,Up)=>{l();var PS=Vp(),DS={boxFlex:!0,boxFlexGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,strokeDashoffset:!0,strokeOpacity:!0,strokeWidth:!0};function Fa(i){return void 0===i.nodes||Na(i)}function Na(i){let e,t={};return i.each((r=>{if("atrule"===r.type)e="@"+r.name,r.params&&(e+=" "+r.params),void 0===t[e]?t[e]=Fa(r):Array.isArray(t[e])?t[e].push(Fa(r)):t[e]=[t[e],Fa(r)];else if("rule"===r.type){let n=Na(r);if(t[r.selector])for(let a in n)t[r.selector][a]=n[a];else t[r.selector]=n}else if("decl"===r.type){e="-"===r.prop[0]&&"-"===r.prop[1]||r.parent&&":export"===r.parent.selector?r.prop:PS(r.prop);let n=r.value;!isNaN(r.value)&&DS[e]&&(n=parseFloat(r.value)),r.important&&(n+=" !important"),void 0===t[e]?t[e]=n:Array.isArray(t[e])?t[e].push(n):t[e]=[t[e],n]}})),t}Up.exports=Na})),ln=v(((P3,Yp)=>{l();var Yr=ge(),Wp=/\s*!important\s*$/i,IS={"box-flex":!0,"box-flex-group":!0,"column-count":!0,flex:!0,"flex-grow":!0,"flex-positive":!0,"flex-shrink":!0,"flex-negative":!0,"font-weight":!0,"line-clamp":!0,"line-height":!0,opacity:!0,order:!0,orphans:!0,"tab-size":!0,widows:!0,"z-index":!0,zoom:!0,"fill-opacity":!0,"stroke-dashoffset":!0,"stroke-opacity":!0,"stroke-width":!0};function Gp(i,e,t){!1===t||null===t||(e.startsWith("--")||(e=function(i){return i.replace(/([A-Z])/g,"-$1").replace(/^ms-/,"-ms-").toLowerCase()}(e)),"number"==typeof t&&(0===t||IS[e]?t=t.toString():t+="px"),"css-float"===e&&(e="float"),Wp.test(t)?(t=t.replace(Wp,""),i.push(Yr.decl({prop:e,value:t,important:!0}))):i.push(Yr.decl({prop:e,value:t})))}function Hp(i,e,t){let r=Yr.atRule({name:e[1],params:e[3]||""});"object"==typeof t&&(r.nodes=[],$a(t,r)),i.push(r)}function $a(i,e){let t,r,n;for(t in i)if(r=i[t],null!=r)if("@"===t[0]){let a=t.match(/@(\S+)(\s+([\W\w]*)\s*)?/);if(Array.isArray(r))for(let s of r)Hp(e,a,s);else Hp(e,a,r)}else if(Array.isArray(r))for(let a of r)Gp(e,t,a);else"object"==typeof r?(n=Yr.rule({selector:t}),$a(r,n),e.push(n)):Gp(e,t,r)}Yp.exports=function(i){let e=Yr.root();return $a(i,e),e}})),ja=v(((D3,Qp)=>{l();var RS=La();Qp.exports=function(e){return console&&console.warn&&e.warnings().forEach((t=>{let r=t.plugin||"PostCSS";console.warn(r+": "+t.text)})),RS(e.root)}})),Xp=v(((I3,Jp)=>{l();var MS=ge(),BS=ja(),FS=ln();Jp.exports=function(e){let t=MS(e);return async r=>{let n=await t.process(r,{parser:FS,from:void 0});return BS(n)}}})),Zp=v(((q3,Kp)=>{l();var NS=ge(),LS=ja(),$S=ln();Kp.exports=function(i){let e=NS(i);return t=>{let r=e.process(t,{parser:$S,from:void 0});return LS(r)}}})),td=v(((R3,ed)=>{l();var jS=La(),zS=ln(),VS=Xp(),US=Zp();ed.exports={objectify:jS,parse:zS,async:VS,sync:US}})),id=C((()=>{l(),Rt=K(td()),rd=Rt.default,Rt.default.objectify,Rt.default.parse,Rt.default.async,Rt.default.sync}));function Mt(i){return Array.isArray(i)?i.flatMap((e=>V([(0,nd.default)({bubble:["screen"]})]).process(e,{parser:rd}).root.nodes)):Mt([i])}var nd,za=C((()=>{l(),nt(),nd=K(Lp()),id()}));function Bt(i,e,t=!1){if(""===i)return e;let r="string"==typeof e?(0,sd.default)().astSync(e):e;return r.walkClasses((n=>{let a=n.value,s=t&&a.startsWith("-");n.value=s?`-${i}${a.slice(1)}`:`${i}${a}`})),"string"==typeof e?r.toString():r}var sd,un=C((()=>{l(),sd=K(Re())}));function de(i){let e=ad.default.className();return e.value=i,mt(e?.raws?.value??e.value)}var ad,Ft=C((()=>{l(),ad=K(Re()),mi()}));function Va(i){return mt(`.${de(i)}`)}function fn(i,e){return Va(Qr(i,e))}function Qr(i,e){return"DEFAULT"===e?i:"-"===e||"-DEFAULT"===e?`-${i}`:e.startsWith("-")?`-${i}${e}`:e.startsWith("/")?`${i}${e}`:`${i}-${e}`}var Ua=C((()=>{l(),Ft(),mi()}));function P(i,e=[[i,[i]]],{filterDefault:t=!1,...r}={}){let n=Ge(i);return function({matchUtilities:a,theme:s}){for(let o of e){a((Array.isArray(o[0])?o:[o]).reduce(((c,[f,d])=>Object.assign(c,{[f]:p=>d.reduce(((m,w)=>Array.isArray(w)?Object.assign(m,{[w[0]]:w[1]}):Object.assign(m,{[w]:n(p)})),{})})),{}),{...r,values:t?Object.fromEntries(Object.entries(s(i)??{}).filter((([c])=>"DEFAULT"!==c))):s(i)})}}}var od=C((()=>{l(),Hr()}));function st(i){return(i=Array.isArray(i)?i:[i]).map((e=>{let t=e.values.map((r=>void 0!==r.raw?r.raw:[r.min&&`(min-width: ${r.min})`,r.max&&`(max-width: ${r.max})`].filter(Boolean).join(" and ")));return e.not?`not all and ${t}`:t})).join(", ")}var cn=C((()=>{l()}));var WS,GS,HS,YS,QS,JS,XS,KS,ld,ZS,fd,ie,Ha,Ya,ud=C((()=>{l(),WS=new Set(["normal","reverse","alternate","alternate-reverse"]),GS=new Set(["running","paused"]),HS=new Set(["none","forwards","backwards","both"]),YS=new Set(["infinite"]),QS=new Set(["linear","ease","ease-in","ease-out","ease-in-out","step-start","step-end"]),JS=["cubic-bezier","steps"],XS=/\,(?![^(]*\))/g,KS=/\ +(?![^(]*\))/g,ld=/^(-?[\d.]+m?s)$/,ZS=/^(\d+)$/})),cd=C((()=>{l(),ie=fd=i=>Object.assign({},...Object.entries(i??{}).flatMap((([e,t])=>"object"==typeof t?Object.entries(fd(t)).map((([r,n])=>({[e+("DEFAULT"===r?"":`-${r}`)]:n}))):[{[`${e}`]:t}])))})),Ga=C((()=>{"tailwindcss","A utility-first CSS framework for rapidly building custom user interfaces.","MIT","lib/index.js","types/index.d.ts","https://github.com/tailwindlabs/tailwindcss.git","https://github.com/tailwindlabs/tailwindcss/issues","https://tailwindcss.com",Ya={name:"tailwindcss",version:Ha="3.4.1",description:"A utility-first CSS framework for rapidly building custom user interfaces.",license:"MIT",main:"lib/index.js",types:"types/index.d.ts",repository:"https://github.com/tailwindlabs/tailwindcss.git",bugs:"https://github.com/tailwindlabs/tailwindcss/issues",homepage:"https://tailwindcss.com",bin:{tailwind:"lib/cli.js",tailwindcss:"lib/cli.js"},tailwindcss:{engine:"stable"},scripts:{prebuild:"npm run generate && rimraf lib",build:"swc src --out-dir lib --copy-files --config jsc.transform.optimizer.globals.vars.__OXIDE__='\"false\"'",postbuild:"esbuild lib/cli-peer-dependencies.js --bundle --platform=node --outfile=peers/index.js --define:process.env.CSS_TRANSFORMER_WASM=false","rebuild-fixtures":"npm run build && node -r @swc/register scripts/rebuildFixtures.js",style:"eslint .",pretest:"npm run generate",test:"jest","test:integrations":"npm run test --prefix ./integrations","install:integrations":"node scripts/install-integrations.js","generate:plugin-list":"node -r @swc/register scripts/create-plugin-list.js","generate:types":"node -r @swc/register scripts/generate-types.js",generate:"npm run generate:plugin-list && npm run generate:types","release-channel":"node ./scripts/release-channel.js","release-notes":"node ./scripts/release-notes.js",prepublishOnly:"npm install --force && npm run build"},files:["src/*","cli/*","lib/*","peers/*","scripts/*.js","stubs/*","nesting/*","types/**/*","*.d.ts","*.css","*.js"],devDependencies:{"@swc/cli":"^0.1.62","@swc/core":"^1.3.55","@swc/jest":"^0.2.26","@swc/register":"^0.1.10",autoprefixer:"^10.4.14",browserslist:"^4.21.5",concurrently:"^8.0.1",cssnano:"^6.0.0",esbuild:"^0.17.18",eslint:"^8.39.0","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1",jest:"^29.6.0","jest-diff":"^29.6.0",lightningcss:"1.18.0",prettier:"^2.8.8",rimraf:"^5.0.0","source-map-js":"^1.0.2",turbo:"^1.9.3"},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.19.1",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"},browserslist:["> 1%","not edge <= 18","not ie 11","not op_mini all"],jest:{testTimeout:3e4,setupFilesAfterEnv:["/jest/customMatchers.js"],testPathIgnorePatterns:["/node_modules/","/integrations/","/standalone-cli/","\\.test\\.skip\\.js$"],transformIgnorePatterns:["node_modules/(?!lightningcss)"],transform:{"\\.js$":"@swc/jest","\\.ts$":"@swc/jest"}},engines:{node:">=14.0.0"}}}));function at(i,e=!0){return Array.isArray(i)?i.map((t=>{if(e&&Array.isArray(t))throw new Error("The tuple syntax is not supported for `screens`.");if("string"==typeof t)return{name:t.toString(),not:!1,values:[{min:t,max:void 0}]};let[r,n]=t;return r=r.toString(),"string"==typeof n?{name:r,not:!1,values:[{min:n,max:void 0}]}:Array.isArray(n)?{name:r,not:!1,values:n.map((a=>dd(a)))}:{name:r,not:!1,values:[dd(n)]}})):at(Object.entries(i??{}),!1)}function pn(i){return 1!==i.values.length?{result:!1,reason:"multiple-values"}:void 0!==i.values[0].raw?{result:!1,reason:"raw-values"}:void 0!==i.values[0].min&&void 0!==i.values[0].max?{result:!1,reason:"min-and-max"}:{result:!0,reason:null}}function dn(i,e){return"object"==typeof i?i:{name:"arbitrary-screen",values:[{[e]:i}]}}function dd({"min-width":i,min:e=i,max:t,raw:r}={}){return{min:e,max:t,raw:r}}var hn=C((()=>{l()}));function mn(i,e){i.walkDecls((t=>{if(e.includes(t.prop))t.remove();else for(let r of e)t.value.includes(`/ var(${r})`)&&(t.value=t.value.replace(`/ var(${r})`,""))}))}var Y,Te,Me,Be,md,hd=C((()=>{l()})),gd=C((()=>{l(),je(),gt(),nt(),od(),cn(),Ft(),ud(),cd(),or(),cs(),kt(),Hr(),Ga(),Oe(),hn(),ns(),hd(),ze(),fr(),Xr(),Y={childVariant:({addVariant:i})=>{i("*","& > *")},pseudoElementVariants:({addVariant:i})=>{i("first-letter","&::first-letter"),i("first-line","&::first-line"),i("marker",[({container:e})=>(mn(e,["--tw-text-opacity"]),"& *::marker"),({container:e})=>(mn(e,["--tw-text-opacity"]),"&::marker")]),i("selection",["& *::selection","&::selection"]),i("file","&::file-selector-button"),i("placeholder","&::placeholder"),i("backdrop","&::backdrop"),i("before",(({container:e})=>(e.walkRules((t=>{let r=!1;t.walkDecls("content",(()=>{r=!0})),r||t.prepend(V.decl({prop:"content",value:"var(--tw-content)"}))})),"&::before"))),i("after",(({container:e})=>(e.walkRules((t=>{let r=!1;t.walkDecls("content",(()=>{r=!0})),r||t.prepend(V.decl({prop:"content",value:"var(--tw-content)"}))})),"&::after")))},pseudoClassVariants:({addVariant:i,matchVariant:e,config:t,prefix:r})=>{let n=[["first","&:first-child"],["last","&:last-child"],["only","&:only-child"],["odd","&:nth-child(odd)"],["even","&:nth-child(even)"],"first-of-type","last-of-type","only-of-type",["visited",({container:s})=>(mn(s,["--tw-text-opacity","--tw-border-opacity","--tw-bg-opacity"]),"&:visited")],"target",["open","&[open]"],"default","checked","indeterminate","placeholder-shown","autofill","optional","required","valid","invalid","in-range","out-of-range","read-only","empty","focus-within",["hover",Z(t(),"hoverOnlyWhenSupported")?"@media (hover: hover) and (pointer: fine) { &:hover }":"&:hover"],"focus","focus-visible","active","enabled","disabled"].map((s=>Array.isArray(s)?s:[s,`&:${s}`]));for(let[s,o]of n)i(s,(u=>"function"==typeof o?o(u):o));let a={group:(s,{modifier:o})=>o?[`:merge(${r(".group")}\\/${de(o)})`," &"]:[`:merge(${r(".group")})`," &"],peer:(s,{modifier:o})=>o?[`:merge(${r(".peer")}\\/${de(o)})`," ~ &"]:[`:merge(${r(".peer")})`," ~ &"]};for(let[s,o]of Object.entries(a))e(s,((u="",c)=>{let f=N("function"==typeof u?u(c):u);f.includes("&")||(f="&"+f);let[d,p]=o("",c),m=null,w=null,x=0;for(let y=0;y{i("ltr",'&:where([dir="ltr"], [dir="ltr"] *)'),i("rtl",'&:where([dir="rtl"], [dir="rtl"] *)')},reducedMotionVariants:({addVariant:i})=>{i("motion-safe","@media (prefers-reduced-motion: no-preference)"),i("motion-reduce","@media (prefers-reduced-motion: reduce)")},darkVariants:({config:i,addVariant:e})=>{let[t,r=".dark"]=[].concat(i("darkMode","media"));if(!1===t&&(t="media",F.warn("darkmode-false",["The `darkMode` option in your Tailwind CSS configuration is set to `false`, which now behaves the same as `media`.","Change `darkMode` to `media` or remove it entirely.","https://tailwindcss.com/docs/upgrade-guide#remove-dark-mode-configuration"])),"variant"===t){let n;if(Array.isArray(r)||"function"==typeof r?n=r:"string"==typeof r&&(n=[r]),Array.isArray(n))for(let a of n)".dark"===a?(t=!1,F.warn("darkmode-variant-without-selector",["When using `variant` for `darkMode`, you must provide a selector.",'Example: `darkMode: ["variant", ".your-selector &"]`'])):a.includes("&")||(t=!1,F.warn("darkmode-variant-without-ampersand",["When using `variant` for `darkMode`, your selector must contain `&`.",'Example `darkMode: ["variant", ".your-selector &"]`']));r=n}"selector"===t?e("dark",`&:where(${r}, ${r} *)`):"media"===t?e("dark","@media (prefers-color-scheme: dark)"):"variant"===t?e("dark",r):"class"===t&&e("dark",`:is(${r} &)`)},printVariant:({addVariant:i})=>{i("print","@media print")},screenVariants:({theme:i,addVariant:e,matchVariant:t})=>{let r=i("screens")??{},n=Object.values(r).every((b=>"string"==typeof b)),a=at(i("screens")),s=new Set([]);function u(b){void 0!==b&&s.add(function(b){return b.match(/(\D+)$/)?.[1]??"(none)"}(b))}for(let b of a)for(let k of b.values)u(k.min),u(k.max);let f=s.size<=1;function p(b){return(k,S)=>function(i,e,t){let r=dn(e,i),n=dn(t,i),a=pn(r),s=pn(n);if("multiple-values"===a.reason||"multiple-values"===s.reason)throw new Error("Attempted to sort a screen with multiple values. This should never happen. Please open a bug report.");if("raw-values"===a.reason||"raw-values"===s.reason)throw new Error("Attempted to sort a screen with raw values. This should never happen. Please open a bug report.");if("min-and-max"===a.reason||"min-and-max"===s.reason)throw new Error("Attempted to sort a screen with both min and max values. This should never happen. Please open a bug report.");let{min:o,max:u}=r.values[0],{min:c,max:f}=n.values[0];e.not&&([o,u]=[u,o]),t.not&&([c,f]=[f,c]),o=void 0===o?o:parseFloat(o),u=void 0===u?u:parseFloat(u),c=void 0===c?c:parseFloat(c),f=void 0===f?f:parseFloat(f);let[d,p]="min"===i?[o,c]:[f,u];return d-p}(b,k.value,S.value)}let m=p("max"),w=p("min");function x(b){return k=>n?f?"string"!=typeof k||function(b){return u(b),1===s.size}(k)?[`@media ${st(dn(k,b))}`]:(F.warn("minmax-have-mixed-units",["The `min-*` and `max-*` variants are not supported with a `screens` configuration containing mixed units."]),[]):(F.warn("mixed-screen-units",["The `min-*` and `max-*` variants are not supported with a `screens` configuration containing mixed units."]),[]):(F.warn("complex-screen-config",["The `min-*` and `max-*` variants are not supported with a `screens` configuration containing objects."]),[])}var b;t("max",x("max"),{sort:m,values:n?(b="max",Object.fromEntries(a.filter((k=>pn(k).result)).map((k=>{let{min:S,max:_}=k.values[0];return"min"===b&&void 0!==S?k:"min"===b&&void 0!==_?{...k,not:!k.not}:"max"===b&&void 0!==_?k:"max"===b&&void 0!==S?{...k,not:!k.not}:void 0})).map((k=>[k.name,k])))):{}});let y="min-screens";for(let b of a)e(b.name,`@media ${st(b)}`,{id:y,sort:n&&f?w:void 0,value:b});t("min",x("min"),{id:y,sort:w})},supportsVariants:({matchVariant:i,theme:e})=>{i("supports",((t="")=>{let r=N(t),n=/^\w*\s*\(/.test(r);return r=n?r.replace(/\b(and|or|not)\b/g," $1 "):r,n||(r.includes(":")||(r=`${r}: var(--tw)`),r.startsWith("(")&&r.endsWith(")")||(r=`(${r})`)),`@supports ${r}`}),{values:e("supports")??{}})},hasVariants:({matchVariant:i})=>{i("has",(e=>`&:has(${N(e)})`),{values:{}}),i("group-has",((e,{modifier:t})=>t?`:merge(.group\\/${t}):has(${N(e)}) &`:`:merge(.group):has(${N(e)}) &`),{values:{}}),i("peer-has",((e,{modifier:t})=>t?`:merge(.peer\\/${t}):has(${N(e)}) ~ &`:`:merge(.peer):has(${N(e)}) ~ &`),{values:{}})},ariaVariants:({matchVariant:i,theme:e})=>{i("aria",(t=>`&[aria-${N(t)}]`),{values:e("aria")??{}}),i("group-aria",((t,{modifier:r})=>r?`:merge(.group\\/${r})[aria-${N(t)}] &`:`:merge(.group)[aria-${N(t)}] &`),{values:e("aria")??{}}),i("peer-aria",((t,{modifier:r})=>r?`:merge(.peer\\/${r})[aria-${N(t)}] ~ &`:`:merge(.peer)[aria-${N(t)}] ~ &`),{values:e("aria")??{}})},dataVariants:({matchVariant:i,theme:e})=>{i("data",(t=>`&[data-${N(t)}]`),{values:e("data")??{}}),i("group-data",((t,{modifier:r})=>r?`:merge(.group\\/${r})[data-${N(t)}] &`:`:merge(.group)[data-${N(t)}] &`),{values:e("data")??{}}),i("peer-data",((t,{modifier:r})=>r?`:merge(.peer\\/${r})[data-${N(t)}] ~ &`:`:merge(.peer)[data-${N(t)}] ~ &`),{values:e("data")??{}})},orientationVariants:({addVariant:i})=>{i("portrait","@media (orientation: portrait)"),i("landscape","@media (orientation: landscape)")},prefersContrastVariants:({addVariant:i})=>{i("contrast-more","@media (prefers-contrast: more)"),i("contrast-less","@media (prefers-contrast: less)")},forcedColorsVariants:({addVariant:i})=>{i("forced-colors","@media (forced-colors: active)")}},Te=["translate(var(--tw-translate-x), var(--tw-translate-y))","rotate(var(--tw-rotate))","skewX(var(--tw-skew-x))","skewY(var(--tw-skew-y))","scaleX(var(--tw-scale-x))","scaleY(var(--tw-scale-y))"].join(" "),Me=["var(--tw-blur)","var(--tw-brightness)","var(--tw-contrast)","var(--tw-grayscale)","var(--tw-hue-rotate)","var(--tw-invert)","var(--tw-saturate)","var(--tw-sepia)","var(--tw-drop-shadow)"].join(" "),Be=["var(--tw-backdrop-blur)","var(--tw-backdrop-brightness)","var(--tw-backdrop-contrast)","var(--tw-backdrop-grayscale)","var(--tw-backdrop-hue-rotate)","var(--tw-backdrop-invert)","var(--tw-backdrop-opacity)","var(--tw-backdrop-saturate)","var(--tw-backdrop-sepia)"].join(" "),md={preflight:({addBase:i})=>{let e=V.parse("*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:theme('borderColor.DEFAULT', currentColor)}::after,::before{--tw-content:''}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:theme('fontFamily.sans', ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:theme('fontFamily.sans[1].fontFeatureSettings', normal);font-variation-settings:theme('fontFamily.sans[1].fontVariationSettings', normal);-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:theme('fontFamily.mono[1].fontFeatureSettings', normal);font-variation-settings:theme('fontFamily.mono[1].fontVariationSettings', normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:theme('colors.gray.4', #9ca3af)}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}");i([V.comment({text:`! tailwindcss v${Ha} | MIT License | https://tailwindcss.com`}),...e.nodes])},container:function({addComponents:t,theme:r}){let n=at(r("container.screens",r("screens"))),a=function(t=[]){return t.flatMap((r=>r.values.map((n=>n.min)))).filter((r=>void 0!==r))}(n),s=function(t,r,n){if(void 0===n)return[];if("object"!=typeof n||null===n)return[{screen:"DEFAULT",minWidth:0,padding:n}];let a=[];n.DEFAULT&&a.push({screen:"DEFAULT",minWidth:0,padding:n.DEFAULT});for(let s of t)for(let o of r)for(let{min:u}of o.values)u===s&&a.push({minWidth:s,padding:n[o.name]});return a}(a,n,r("container.padding")),o=c=>{let f=s.find((d=>d.minWidth===c));return f?{paddingRight:f.padding,paddingLeft:f.padding}:{}},u=Array.from(new Set(a.slice().sort(((c,f)=>parseInt(c)-parseInt(f))))).map((c=>({[`@media (min-width: ${c})`]:{".container":{"max-width":c,...o(c)}}})));t([{".container":Object.assign({width:"100%"},r("container.center",!1)?{marginRight:"auto",marginLeft:"auto"}:{},o(0))},...u])},accessibility:({addUtilities:i})=>{i({".sr-only":{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},".not-sr-only":{position:"static",width:"auto",height:"auto",padding:"0",margin:"0",overflow:"visible",clip:"auto",whiteSpace:"normal"}})},pointerEvents:({addUtilities:i})=>{i({".pointer-events-none":{"pointer-events":"none"},".pointer-events-auto":{"pointer-events":"auto"}})},visibility:({addUtilities:i})=>{i({".visible":{visibility:"visible"},".invisible":{visibility:"hidden"},".collapse":{visibility:"collapse"}})},position:({addUtilities:i})=>{i({".static":{position:"static"},".fixed":{position:"fixed"},".absolute":{position:"absolute"},".relative":{position:"relative"},".sticky":{position:"sticky"}})},inset:P("inset",[["inset",["inset"]],[["inset-x",["left","right"]],["inset-y",["top","bottom"]]],[["start",["inset-inline-start"]],["end",["inset-inline-end"]],["top",["top"]],["right",["right"]],["bottom",["bottom"]],["left",["left"]]]],{supportsNegativeValues:!0}),isolation:({addUtilities:i})=>{i({".isolate":{isolation:"isolate"},".isolation-auto":{isolation:"auto"}})},zIndex:P("zIndex",[["z",["zIndex"]]],{supportsNegativeValues:!0}),order:P("order",void 0,{supportsNegativeValues:!0}),gridColumn:P("gridColumn",[["col",["gridColumn"]]]),gridColumnStart:P("gridColumnStart",[["col-start",["gridColumnStart"]]]),gridColumnEnd:P("gridColumnEnd",[["col-end",["gridColumnEnd"]]]),gridRow:P("gridRow",[["row",["gridRow"]]]),gridRowStart:P("gridRowStart",[["row-start",["gridRowStart"]]]),gridRowEnd:P("gridRowEnd",[["row-end",["gridRowEnd"]]]),float:({addUtilities:i})=>{i({".float-start":{float:"inline-start"},".float-end":{float:"inline-end"},".float-right":{float:"right"},".float-left":{float:"left"},".float-none":{float:"none"}})},clear:({addUtilities:i})=>{i({".clear-start":{clear:"inline-start"},".clear-end":{clear:"inline-end"},".clear-left":{clear:"left"},".clear-right":{clear:"right"},".clear-both":{clear:"both"},".clear-none":{clear:"none"}})},margin:P("margin",[["m",["margin"]],[["mx",["margin-left","margin-right"]],["my",["margin-top","margin-bottom"]]],[["ms",["margin-inline-start"]],["me",["margin-inline-end"]],["mt",["margin-top"]],["mr",["margin-right"]],["mb",["margin-bottom"]],["ml",["margin-left"]]]],{supportsNegativeValues:!0}),boxSizing:({addUtilities:i})=>{i({".box-border":{"box-sizing":"border-box"},".box-content":{"box-sizing":"content-box"}})},lineClamp:({matchUtilities:i,addUtilities:e,theme:t})=>{i({"line-clamp":r=>({overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":`${r}`})},{values:t("lineClamp")}),e({".line-clamp-none":{overflow:"visible",display:"block","-webkit-box-orient":"horizontal","-webkit-line-clamp":"none"}})},display:({addUtilities:i})=>{i({".block":{display:"block"},".inline-block":{display:"inline-block"},".inline":{display:"inline"},".flex":{display:"flex"},".inline-flex":{display:"inline-flex"},".table":{display:"table"},".inline-table":{display:"inline-table"},".table-caption":{display:"table-caption"},".table-cell":{display:"table-cell"},".table-column":{display:"table-column"},".table-column-group":{display:"table-column-group"},".table-footer-group":{display:"table-footer-group"},".table-header-group":{display:"table-header-group"},".table-row-group":{display:"table-row-group"},".table-row":{display:"table-row"},".flow-root":{display:"flow-root"},".grid":{display:"grid"},".inline-grid":{display:"inline-grid"},".contents":{display:"contents"},".list-item":{display:"list-item"},".hidden":{display:"none"}})},aspectRatio:P("aspectRatio",[["aspect",["aspect-ratio"]]]),size:P("size",[["size",["width","height"]]]),height:P("height",[["h",["height"]]]),maxHeight:P("maxHeight",[["max-h",["maxHeight"]]]),minHeight:P("minHeight",[["min-h",["minHeight"]]]),width:P("width",[["w",["width"]]]),minWidth:P("minWidth",[["min-w",["minWidth"]]]),maxWidth:P("maxWidth",[["max-w",["maxWidth"]]]),flex:P("flex"),flexShrink:P("flexShrink",[["flex-shrink",["flex-shrink"]],["shrink",["flex-shrink"]]]),flexGrow:P("flexGrow",[["flex-grow",["flex-grow"]],["grow",["flex-grow"]]]),flexBasis:P("flexBasis",[["basis",["flex-basis"]]]),tableLayout:({addUtilities:i})=>{i({".table-auto":{"table-layout":"auto"},".table-fixed":{"table-layout":"fixed"}})},captionSide:({addUtilities:i})=>{i({".caption-top":{"caption-side":"top"},".caption-bottom":{"caption-side":"bottom"}})},borderCollapse:({addUtilities:i})=>{i({".border-collapse":{"border-collapse":"collapse"},".border-separate":{"border-collapse":"separate"}})},borderSpacing:({addDefaults:i,matchUtilities:e,theme:t})=>{i("border-spacing",{"--tw-border-spacing-x":0,"--tw-border-spacing-y":0}),e({"border-spacing":r=>({"--tw-border-spacing-x":r,"--tw-border-spacing-y":r,"@defaults border-spacing":{},"border-spacing":"var(--tw-border-spacing-x) var(--tw-border-spacing-y)"}),"border-spacing-x":r=>({"--tw-border-spacing-x":r,"@defaults border-spacing":{},"border-spacing":"var(--tw-border-spacing-x) var(--tw-border-spacing-y)"}),"border-spacing-y":r=>({"--tw-border-spacing-y":r,"@defaults border-spacing":{},"border-spacing":"var(--tw-border-spacing-x) var(--tw-border-spacing-y)"})},{values:t("borderSpacing")})},transformOrigin:P("transformOrigin",[["origin",["transformOrigin"]]]),translate:P("translate",[[["translate-x",[["@defaults transform",{}],"--tw-translate-x",["transform",Te]]],["translate-y",[["@defaults transform",{}],"--tw-translate-y",["transform",Te]]]]],{supportsNegativeValues:!0}),rotate:P("rotate",[["rotate",[["@defaults transform",{}],"--tw-rotate",["transform",Te]]]],{supportsNegativeValues:!0}),skew:P("skew",[[["skew-x",[["@defaults transform",{}],"--tw-skew-x",["transform",Te]]],["skew-y",[["@defaults transform",{}],"--tw-skew-y",["transform",Te]]]]],{supportsNegativeValues:!0}),scale:P("scale",[["scale",[["@defaults transform",{}],"--tw-scale-x","--tw-scale-y",["transform",Te]]],[["scale-x",[["@defaults transform",{}],"--tw-scale-x",["transform",Te]]],["scale-y",[["@defaults transform",{}],"--tw-scale-y",["transform",Te]]]]],{supportsNegativeValues:!0}),transform:({addDefaults:i,addUtilities:e})=>{i("transform",{"--tw-translate-x":"0","--tw-translate-y":"0","--tw-rotate":"0","--tw-skew-x":"0","--tw-skew-y":"0","--tw-scale-x":"1","--tw-scale-y":"1"}),e({".transform":{"@defaults transform":{},transform:Te},".transform-cpu":{transform:Te},".transform-gpu":{transform:Te.replace("translate(var(--tw-translate-x), var(--tw-translate-y))","translate3d(var(--tw-translate-x), var(--tw-translate-y), 0)")},".transform-none":{transform:"none"}})},animation:({matchUtilities:i,theme:e,config:t})=>{let r=a=>de(t("prefix")+a),n=Object.fromEntries(Object.entries(e("keyframes")??{}).map((([a,s])=>[a,{[`@keyframes ${r(a)}`]:s}])));i({animate:a=>{let s=function(i){return i.split(XS).map((t=>{let r=t.trim(),n={value:r},a=r.split(KS),s=new Set;for(let o of a)!s.has("DIRECTIONS")&&WS.has(o)?(n.direction=o,s.add("DIRECTIONS")):!s.has("PLAY_STATES")&&GS.has(o)?(n.playState=o,s.add("PLAY_STATES")):!s.has("FILL_MODES")&&HS.has(o)?(n.fillMode=o,s.add("FILL_MODES")):s.has("ITERATION_COUNTS")||!YS.has(o)&&!ZS.test(o)?!s.has("TIMING_FUNCTION")&&QS.has(o)||!s.has("TIMING_FUNCTION")&&JS.some((u=>o.startsWith(`${u}(`)))?(n.timingFunction=o,s.add("TIMING_FUNCTION")):!s.has("DURATION")&&ld.test(o)?(n.duration=o,s.add("DURATION")):!s.has("DELAY")&&ld.test(o)?(n.delay=o,s.add("DELAY")):s.has("NAME")?(n.unknown||(n.unknown=[]),n.unknown.push(o)):(n.name=o,s.add("NAME")):(n.iterationCount=o,s.add("ITERATION_COUNTS"));return n}))}(a);return[...s.flatMap((o=>n[o.name])),{animation:s.map((({name:o,value:u})=>void 0===o||void 0===n[o]?u:u.replace(o,r(o)))).join(", ")}]}},{values:e("animation")})},cursor:P("cursor"),touchAction:({addDefaults:i,addUtilities:e})=>{i("touch-action",{"--tw-pan-x":" ","--tw-pan-y":" ","--tw-pinch-zoom":" "});let t="var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)";e({".touch-auto":{"touch-action":"auto"},".touch-none":{"touch-action":"none"},".touch-pan-x":{"@defaults touch-action":{},"--tw-pan-x":"pan-x","touch-action":t},".touch-pan-left":{"@defaults touch-action":{},"--tw-pan-x":"pan-left","touch-action":t},".touch-pan-right":{"@defaults touch-action":{},"--tw-pan-x":"pan-right","touch-action":t},".touch-pan-y":{"@defaults touch-action":{},"--tw-pan-y":"pan-y","touch-action":t},".touch-pan-up":{"@defaults touch-action":{},"--tw-pan-y":"pan-up","touch-action":t},".touch-pan-down":{"@defaults touch-action":{},"--tw-pan-y":"pan-down","touch-action":t},".touch-pinch-zoom":{"@defaults touch-action":{},"--tw-pinch-zoom":"pinch-zoom","touch-action":t},".touch-manipulation":{"touch-action":"manipulation"}})},userSelect:({addUtilities:i})=>{i({".select-none":{"user-select":"none"},".select-text":{"user-select":"text"},".select-all":{"user-select":"all"},".select-auto":{"user-select":"auto"}})},resize:({addUtilities:i})=>{i({".resize-none":{resize:"none"},".resize-y":{resize:"vertical"},".resize-x":{resize:"horizontal"},".resize":{resize:"both"}})},scrollSnapType:({addDefaults:i,addUtilities:e})=>{i("scroll-snap-type",{"--tw-scroll-snap-strictness":"proximity"}),e({".snap-none":{"scroll-snap-type":"none"},".snap-x":{"@defaults scroll-snap-type":{},"scroll-snap-type":"x var(--tw-scroll-snap-strictness)"},".snap-y":{"@defaults scroll-snap-type":{},"scroll-snap-type":"y var(--tw-scroll-snap-strictness)"},".snap-both":{"@defaults scroll-snap-type":{},"scroll-snap-type":"both var(--tw-scroll-snap-strictness)"},".snap-mandatory":{"--tw-scroll-snap-strictness":"mandatory"},".snap-proximity":{"--tw-scroll-snap-strictness":"proximity"}})},scrollSnapAlign:({addUtilities:i})=>{i({".snap-start":{"scroll-snap-align":"start"},".snap-end":{"scroll-snap-align":"end"},".snap-center":{"scroll-snap-align":"center"},".snap-align-none":{"scroll-snap-align":"none"}})},scrollSnapStop:({addUtilities:i})=>{i({".snap-normal":{"scroll-snap-stop":"normal"},".snap-always":{"scroll-snap-stop":"always"}})},scrollMargin:P("scrollMargin",[["scroll-m",["scroll-margin"]],[["scroll-mx",["scroll-margin-left","scroll-margin-right"]],["scroll-my",["scroll-margin-top","scroll-margin-bottom"]]],[["scroll-ms",["scroll-margin-inline-start"]],["scroll-me",["scroll-margin-inline-end"]],["scroll-mt",["scroll-margin-top"]],["scroll-mr",["scroll-margin-right"]],["scroll-mb",["scroll-margin-bottom"]],["scroll-ml",["scroll-margin-left"]]]],{supportsNegativeValues:!0}),scrollPadding:P("scrollPadding",[["scroll-p",["scroll-padding"]],[["scroll-px",["scroll-padding-left","scroll-padding-right"]],["scroll-py",["scroll-padding-top","scroll-padding-bottom"]]],[["scroll-ps",["scroll-padding-inline-start"]],["scroll-pe",["scroll-padding-inline-end"]],["scroll-pt",["scroll-padding-top"]],["scroll-pr",["scroll-padding-right"]],["scroll-pb",["scroll-padding-bottom"]],["scroll-pl",["scroll-padding-left"]]]]),listStylePosition:({addUtilities:i})=>{i({".list-inside":{"list-style-position":"inside"},".list-outside":{"list-style-position":"outside"}})},listStyleType:P("listStyleType",[["list",["listStyleType"]]]),listStyleImage:P("listStyleImage",[["list-image",["listStyleImage"]]]),appearance:({addUtilities:i})=>{i({".appearance-none":{appearance:"none"},".appearance-auto":{appearance:"auto"}})},columns:P("columns",[["columns",["columns"]]]),breakBefore:({addUtilities:i})=>{i({".break-before-auto":{"break-before":"auto"},".break-before-avoid":{"break-before":"avoid"},".break-before-all":{"break-before":"all"},".break-before-avoid-page":{"break-before":"avoid-page"},".break-before-page":{"break-before":"page"},".break-before-left":{"break-before":"left"},".break-before-right":{"break-before":"right"},".break-before-column":{"break-before":"column"}})},breakInside:({addUtilities:i})=>{i({".break-inside-auto":{"break-inside":"auto"},".break-inside-avoid":{"break-inside":"avoid"},".break-inside-avoid-page":{"break-inside":"avoid-page"},".break-inside-avoid-column":{"break-inside":"avoid-column"}})},breakAfter:({addUtilities:i})=>{i({".break-after-auto":{"break-after":"auto"},".break-after-avoid":{"break-after":"avoid"},".break-after-all":{"break-after":"all"},".break-after-avoid-page":{"break-after":"avoid-page"},".break-after-page":{"break-after":"page"},".break-after-left":{"break-after":"left"},".break-after-right":{"break-after":"right"},".break-after-column":{"break-after":"column"}})},gridAutoColumns:P("gridAutoColumns",[["auto-cols",["gridAutoColumns"]]]),gridAutoFlow:({addUtilities:i})=>{i({".grid-flow-row":{gridAutoFlow:"row"},".grid-flow-col":{gridAutoFlow:"column"},".grid-flow-dense":{gridAutoFlow:"dense"},".grid-flow-row-dense":{gridAutoFlow:"row dense"},".grid-flow-col-dense":{gridAutoFlow:"column dense"}})},gridAutoRows:P("gridAutoRows",[["auto-rows",["gridAutoRows"]]]),gridTemplateColumns:P("gridTemplateColumns",[["grid-cols",["gridTemplateColumns"]]]),gridTemplateRows:P("gridTemplateRows",[["grid-rows",["gridTemplateRows"]]]),flexDirection:({addUtilities:i})=>{i({".flex-row":{"flex-direction":"row"},".flex-row-reverse":{"flex-direction":"row-reverse"},".flex-col":{"flex-direction":"column"},".flex-col-reverse":{"flex-direction":"column-reverse"}})},flexWrap:({addUtilities:i})=>{i({".flex-wrap":{"flex-wrap":"wrap"},".flex-wrap-reverse":{"flex-wrap":"wrap-reverse"},".flex-nowrap":{"flex-wrap":"nowrap"}})},placeContent:({addUtilities:i})=>{i({".place-content-center":{"place-content":"center"},".place-content-start":{"place-content":"start"},".place-content-end":{"place-content":"end"},".place-content-between":{"place-content":"space-between"},".place-content-around":{"place-content":"space-around"},".place-content-evenly":{"place-content":"space-evenly"},".place-content-baseline":{"place-content":"baseline"},".place-content-stretch":{"place-content":"stretch"}})},placeItems:({addUtilities:i})=>{i({".place-items-start":{"place-items":"start"},".place-items-end":{"place-items":"end"},".place-items-center":{"place-items":"center"},".place-items-baseline":{"place-items":"baseline"},".place-items-stretch":{"place-items":"stretch"}})},alignContent:({addUtilities:i})=>{i({".content-normal":{"align-content":"normal"},".content-center":{"align-content":"center"},".content-start":{"align-content":"flex-start"},".content-end":{"align-content":"flex-end"},".content-between":{"align-content":"space-between"},".content-around":{"align-content":"space-around"},".content-evenly":{"align-content":"space-evenly"},".content-baseline":{"align-content":"baseline"},".content-stretch":{"align-content":"stretch"}})},alignItems:({addUtilities:i})=>{i({".items-start":{"align-items":"flex-start"},".items-end":{"align-items":"flex-end"},".items-center":{"align-items":"center"},".items-baseline":{"align-items":"baseline"},".items-stretch":{"align-items":"stretch"}})},justifyContent:({addUtilities:i})=>{i({".justify-normal":{"justify-content":"normal"},".justify-start":{"justify-content":"flex-start"},".justify-end":{"justify-content":"flex-end"},".justify-center":{"justify-content":"center"},".justify-between":{"justify-content":"space-between"},".justify-around":{"justify-content":"space-around"},".justify-evenly":{"justify-content":"space-evenly"},".justify-stretch":{"justify-content":"stretch"}})},justifyItems:({addUtilities:i})=>{i({".justify-items-start":{"justify-items":"start"},".justify-items-end":{"justify-items":"end"},".justify-items-center":{"justify-items":"center"},".justify-items-stretch":{"justify-items":"stretch"}})},gap:P("gap",[["gap",["gap"]],[["gap-x",["columnGap"]],["gap-y",["rowGap"]]]]),space:({matchUtilities:i,addUtilities:e,theme:t})=>{i({"space-x":r=>({"& > :not([hidden]) ~ :not([hidden])":{"--tw-space-x-reverse":"0","margin-right":`calc(${r="0"===r?"0px":r} * var(--tw-space-x-reverse))`,"margin-left":`calc(${r} * calc(1 - var(--tw-space-x-reverse)))`}}),"space-y":r=>({"& > :not([hidden]) ~ :not([hidden])":{"--tw-space-y-reverse":"0","margin-top":`calc(${r="0"===r?"0px":r} * calc(1 - var(--tw-space-y-reverse)))`,"margin-bottom":`calc(${r} * var(--tw-space-y-reverse))`}})},{values:t("space"),supportsNegativeValues:!0}),e({".space-y-reverse > :not([hidden]) ~ :not([hidden])":{"--tw-space-y-reverse":"1"},".space-x-reverse > :not([hidden]) ~ :not([hidden])":{"--tw-space-x-reverse":"1"}})},divideWidth:({matchUtilities:i,addUtilities:e,theme:t})=>{i({"divide-x":r=>({"& > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-x-reverse":"0","border-right-width":`calc(${r="0"===r?"0px":r} * var(--tw-divide-x-reverse))`,"border-left-width":`calc(${r} * calc(1 - var(--tw-divide-x-reverse)))`}}),"divide-y":r=>({"& > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-y-reverse":"0","border-top-width":`calc(${r="0"===r?"0px":r} * calc(1 - var(--tw-divide-y-reverse)))`,"border-bottom-width":`calc(${r} * var(--tw-divide-y-reverse))`}})},{values:t("divideWidth"),type:["line-width","length","any"]}),e({".divide-y-reverse > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-y-reverse":"1"},".divide-x-reverse > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-x-reverse":"1"}})},divideStyle:({addUtilities:i})=>{i({".divide-solid > :not([hidden]) ~ :not([hidden])":{"border-style":"solid"},".divide-dashed > :not([hidden]) ~ :not([hidden])":{"border-style":"dashed"},".divide-dotted > :not([hidden]) ~ :not([hidden])":{"border-style":"dotted"},".divide-double > :not([hidden]) ~ :not([hidden])":{"border-style":"double"},".divide-none > :not([hidden]) ~ :not([hidden])":{"border-style":"none"}})},divideColor:({matchUtilities:i,theme:e,corePlugins:t})=>{i({divide:r=>t("divideOpacity")?{"& > :not([hidden]) ~ :not([hidden])":ae({color:r,property:"border-color",variable:"--tw-divide-opacity"})}:{"& > :not([hidden]) ~ :not([hidden])":{"border-color":L(r)}}},{values:(({DEFAULT:r,...n})=>n)(ie(e("divideColor"))),type:["color","any"]})},divideOpacity:({matchUtilities:i,theme:e})=>{i({"divide-opacity":t=>({"& > :not([hidden]) ~ :not([hidden])":{"--tw-divide-opacity":t}})},{values:e("divideOpacity")})},placeSelf:({addUtilities:i})=>{i({".place-self-auto":{"place-self":"auto"},".place-self-start":{"place-self":"start"},".place-self-end":{"place-self":"end"},".place-self-center":{"place-self":"center"},".place-self-stretch":{"place-self":"stretch"}})},alignSelf:({addUtilities:i})=>{i({".self-auto":{"align-self":"auto"},".self-start":{"align-self":"flex-start"},".self-end":{"align-self":"flex-end"},".self-center":{"align-self":"center"},".self-stretch":{"align-self":"stretch"},".self-baseline":{"align-self":"baseline"}})},justifySelf:({addUtilities:i})=>{i({".justify-self-auto":{"justify-self":"auto"},".justify-self-start":{"justify-self":"start"},".justify-self-end":{"justify-self":"end"},".justify-self-center":{"justify-self":"center"},".justify-self-stretch":{"justify-self":"stretch"}})},overflow:({addUtilities:i})=>{i({".overflow-auto":{overflow:"auto"},".overflow-hidden":{overflow:"hidden"},".overflow-clip":{overflow:"clip"},".overflow-visible":{overflow:"visible"},".overflow-scroll":{overflow:"scroll"},".overflow-x-auto":{"overflow-x":"auto"},".overflow-y-auto":{"overflow-y":"auto"},".overflow-x-hidden":{"overflow-x":"hidden"},".overflow-y-hidden":{"overflow-y":"hidden"},".overflow-x-clip":{"overflow-x":"clip"},".overflow-y-clip":{"overflow-y":"clip"},".overflow-x-visible":{"overflow-x":"visible"},".overflow-y-visible":{"overflow-y":"visible"},".overflow-x-scroll":{"overflow-x":"scroll"},".overflow-y-scroll":{"overflow-y":"scroll"}})},overscrollBehavior:({addUtilities:i})=>{i({".overscroll-auto":{"overscroll-behavior":"auto"},".overscroll-contain":{"overscroll-behavior":"contain"},".overscroll-none":{"overscroll-behavior":"none"},".overscroll-y-auto":{"overscroll-behavior-y":"auto"},".overscroll-y-contain":{"overscroll-behavior-y":"contain"},".overscroll-y-none":{"overscroll-behavior-y":"none"},".overscroll-x-auto":{"overscroll-behavior-x":"auto"},".overscroll-x-contain":{"overscroll-behavior-x":"contain"},".overscroll-x-none":{"overscroll-behavior-x":"none"}})},scrollBehavior:({addUtilities:i})=>{i({".scroll-auto":{"scroll-behavior":"auto"},".scroll-smooth":{"scroll-behavior":"smooth"}})},textOverflow:({addUtilities:i})=>{i({".truncate":{overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"},".overflow-ellipsis":{"text-overflow":"ellipsis"},".text-ellipsis":{"text-overflow":"ellipsis"},".text-clip":{"text-overflow":"clip"}})},hyphens:({addUtilities:i})=>{i({".hyphens-none":{hyphens:"none"},".hyphens-manual":{hyphens:"manual"},".hyphens-auto":{hyphens:"auto"}})},whitespace:({addUtilities:i})=>{i({".whitespace-normal":{"white-space":"normal"},".whitespace-nowrap":{"white-space":"nowrap"},".whitespace-pre":{"white-space":"pre"},".whitespace-pre-line":{"white-space":"pre-line"},".whitespace-pre-wrap":{"white-space":"pre-wrap"},".whitespace-break-spaces":{"white-space":"break-spaces"}})},textWrap:({addUtilities:i})=>{i({".text-wrap":{"text-wrap":"wrap"},".text-nowrap":{"text-wrap":"nowrap"},".text-balance":{"text-wrap":"balance"},".text-pretty":{"text-wrap":"pretty"}})},wordBreak:({addUtilities:i})=>{i({".break-normal":{"overflow-wrap":"normal","word-break":"normal"},".break-words":{"overflow-wrap":"break-word"},".break-all":{"word-break":"break-all"},".break-keep":{"word-break":"keep-all"}})},borderRadius:P("borderRadius",[["rounded",["border-radius"]],[["rounded-s",["border-start-start-radius","border-end-start-radius"]],["rounded-e",["border-start-end-radius","border-end-end-radius"]],["rounded-t",["border-top-left-radius","border-top-right-radius"]],["rounded-r",["border-top-right-radius","border-bottom-right-radius"]],["rounded-b",["border-bottom-right-radius","border-bottom-left-radius"]],["rounded-l",["border-top-left-radius","border-bottom-left-radius"]]],[["rounded-ss",["border-start-start-radius"]],["rounded-se",["border-start-end-radius"]],["rounded-ee",["border-end-end-radius"]],["rounded-es",["border-end-start-radius"]],["rounded-tl",["border-top-left-radius"]],["rounded-tr",["border-top-right-radius"]],["rounded-br",["border-bottom-right-radius"]],["rounded-bl",["border-bottom-left-radius"]]]]),borderWidth:P("borderWidth",[["border",[["@defaults border-width",{}],"border-width"]],[["border-x",[["@defaults border-width",{}],"border-left-width","border-right-width"]],["border-y",[["@defaults border-width",{}],"border-top-width","border-bottom-width"]]],[["border-s",[["@defaults border-width",{}],"border-inline-start-width"]],["border-e",[["@defaults border-width",{}],"border-inline-end-width"]],["border-t",[["@defaults border-width",{}],"border-top-width"]],["border-r",[["@defaults border-width",{}],"border-right-width"]],["border-b",[["@defaults border-width",{}],"border-bottom-width"]],["border-l",[["@defaults border-width",{}],"border-left-width"]]]],{type:["line-width","length"]}),borderStyle:({addUtilities:i})=>{i({".border-solid":{"border-style":"solid"},".border-dashed":{"border-style":"dashed"},".border-dotted":{"border-style":"dotted"},".border-double":{"border-style":"double"},".border-hidden":{"border-style":"hidden"},".border-none":{"border-style":"none"}})},borderColor:({matchUtilities:i,theme:e,corePlugins:t})=>{i({border:r=>t("borderOpacity")?ae({color:r,property:"border-color",variable:"--tw-border-opacity"}):{"border-color":L(r)}},{values:(({DEFAULT:r,...n})=>n)(ie(e("borderColor"))),type:["color","any"]}),i({"border-x":r=>t("borderOpacity")?ae({color:r,property:["border-left-color","border-right-color"],variable:"--tw-border-opacity"}):{"border-left-color":L(r),"border-right-color":L(r)},"border-y":r=>t("borderOpacity")?ae({color:r,property:["border-top-color","border-bottom-color"],variable:"--tw-border-opacity"}):{"border-top-color":L(r),"border-bottom-color":L(r)}},{values:(({DEFAULT:r,...n})=>n)(ie(e("borderColor"))),type:["color","any"]}),i({"border-s":r=>t("borderOpacity")?ae({color:r,property:"border-inline-start-color",variable:"--tw-border-opacity"}):{"border-inline-start-color":L(r)},"border-e":r=>t("borderOpacity")?ae({color:r,property:"border-inline-end-color",variable:"--tw-border-opacity"}):{"border-inline-end-color":L(r)},"border-t":r=>t("borderOpacity")?ae({color:r,property:"border-top-color",variable:"--tw-border-opacity"}):{"border-top-color":L(r)},"border-r":r=>t("borderOpacity")?ae({color:r,property:"border-right-color",variable:"--tw-border-opacity"}):{"border-right-color":L(r)},"border-b":r=>t("borderOpacity")?ae({color:r,property:"border-bottom-color",variable:"--tw-border-opacity"}):{"border-bottom-color":L(r)},"border-l":r=>t("borderOpacity")?ae({color:r,property:"border-left-color",variable:"--tw-border-opacity"}):{"border-left-color":L(r)}},{values:(({DEFAULT:r,...n})=>n)(ie(e("borderColor"))),type:["color","any"]})},borderOpacity:P("borderOpacity",[["border-opacity",["--tw-border-opacity"]]]),backgroundColor:({matchUtilities:i,theme:e,corePlugins:t})=>{i({bg:r=>t("backgroundOpacity")?ae({color:r,property:"background-color",variable:"--tw-bg-opacity"}):{"background-color":L(r)}},{values:ie(e("backgroundColor")),type:["color","any"]})},backgroundOpacity:P("backgroundOpacity",[["bg-opacity",["--tw-bg-opacity"]]]),backgroundImage:P("backgroundImage",[["bg",["background-image"]]],{type:["lookup","image","url"]}),gradientColorStops:(()=>{function i(e){return De(e,0,"rgb(255 255 255 / 0)")}return function({matchUtilities:e,theme:t,addDefaults:r}){r("gradient-color-stops",{"--tw-gradient-from-position":" ","--tw-gradient-via-position":" ","--tw-gradient-to-position":" "});let n={values:ie(t("gradientColorStops")),type:["color","any"]},a={values:t("gradientColorStopPositions"),type:["length","percentage"]};e({from:s=>{let o=i(s);return{"@defaults gradient-color-stops":{},"--tw-gradient-from":`${L(s)} var(--tw-gradient-from-position)`,"--tw-gradient-to":`${o} var(--tw-gradient-to-position)`,"--tw-gradient-stops":"var(--tw-gradient-from), var(--tw-gradient-to)"}}},n),e({from:s=>({"--tw-gradient-from-position":s})},a),e({via:s=>({"@defaults gradient-color-stops":{},"--tw-gradient-to":`${i(s)} var(--tw-gradient-to-position)`,"--tw-gradient-stops":`var(--tw-gradient-from), ${L(s)} var(--tw-gradient-via-position), var(--tw-gradient-to)`})},n),e({via:s=>({"--tw-gradient-via-position":s})},a),e({to:s=>({"@defaults gradient-color-stops":{},"--tw-gradient-to":`${L(s)} var(--tw-gradient-to-position)`})},n),e({to:s=>({"--tw-gradient-to-position":s})},a)}})(),boxDecorationBreak:({addUtilities:i})=>{i({".decoration-slice":{"box-decoration-break":"slice"},".decoration-clone":{"box-decoration-break":"clone"},".box-decoration-slice":{"box-decoration-break":"slice"},".box-decoration-clone":{"box-decoration-break":"clone"}})},backgroundSize:P("backgroundSize",[["bg",["background-size"]]],{type:["lookup","length","percentage","size"]}),backgroundAttachment:({addUtilities:i})=>{i({".bg-fixed":{"background-attachment":"fixed"},".bg-local":{"background-attachment":"local"},".bg-scroll":{"background-attachment":"scroll"}})},backgroundClip:({addUtilities:i})=>{i({".bg-clip-border":{"background-clip":"border-box"},".bg-clip-padding":{"background-clip":"padding-box"},".bg-clip-content":{"background-clip":"content-box"},".bg-clip-text":{"background-clip":"text"}})},backgroundPosition:P("backgroundPosition",[["bg",["background-position"]]],{type:["lookup",["position",{preferOnConflict:!0}]]}),backgroundRepeat:({addUtilities:i})=>{i({".bg-repeat":{"background-repeat":"repeat"},".bg-no-repeat":{"background-repeat":"no-repeat"},".bg-repeat-x":{"background-repeat":"repeat-x"},".bg-repeat-y":{"background-repeat":"repeat-y"},".bg-repeat-round":{"background-repeat":"round"},".bg-repeat-space":{"background-repeat":"space"}})},backgroundOrigin:({addUtilities:i})=>{i({".bg-origin-border":{"background-origin":"border-box"},".bg-origin-padding":{"background-origin":"padding-box"},".bg-origin-content":{"background-origin":"content-box"}})},fill:({matchUtilities:i,theme:e})=>{i({fill:t=>({fill:L(t)})},{values:ie(e("fill")),type:["color","any"]})},stroke:({matchUtilities:i,theme:e})=>{i({stroke:t=>({stroke:L(t)})},{values:ie(e("stroke")),type:["color","url","any"]})},strokeWidth:P("strokeWidth",[["stroke",["stroke-width"]]],{type:["length","number","percentage"]}),objectFit:({addUtilities:i})=>{i({".object-contain":{"object-fit":"contain"},".object-cover":{"object-fit":"cover"},".object-fill":{"object-fit":"fill"},".object-none":{"object-fit":"none"},".object-scale-down":{"object-fit":"scale-down"}})},objectPosition:P("objectPosition",[["object",["object-position"]]]),padding:P("padding",[["p",["padding"]],[["px",["padding-left","padding-right"]],["py",["padding-top","padding-bottom"]]],[["ps",["padding-inline-start"]],["pe",["padding-inline-end"]],["pt",["padding-top"]],["pr",["padding-right"]],["pb",["padding-bottom"]],["pl",["padding-left"]]]]),textAlign:({addUtilities:i})=>{i({".text-left":{"text-align":"left"},".text-center":{"text-align":"center"},".text-right":{"text-align":"right"},".text-justify":{"text-align":"justify"},".text-start":{"text-align":"start"},".text-end":{"text-align":"end"}})},textIndent:P("textIndent",[["indent",["text-indent"]]],{supportsNegativeValues:!0}),verticalAlign:({addUtilities:i,matchUtilities:e})=>{i({".align-baseline":{"vertical-align":"baseline"},".align-top":{"vertical-align":"top"},".align-middle":{"vertical-align":"middle"},".align-bottom":{"vertical-align":"bottom"},".align-text-top":{"vertical-align":"text-top"},".align-text-bottom":{"vertical-align":"text-bottom"},".align-sub":{"vertical-align":"sub"},".align-super":{"vertical-align":"super"}}),e({align:t=>({"vertical-align":t})})},fontFamily:({matchUtilities:i,theme:e})=>{i({font:t=>{let[r,n={}]=Array.isArray(t)&&ne(t[1])?t:[t],{fontFeatureSettings:a,fontVariationSettings:s}=n;return{"font-family":Array.isArray(r)?r.join(", "):r,...void 0===a?{}:{"font-feature-settings":a},...void 0===s?{}:{"font-variation-settings":s}}}},{values:e("fontFamily"),type:["lookup","generic-name","family-name"]})},fontSize:({matchUtilities:i,theme:e})=>{i({text:(t,{modifier:r})=>{let[n,a]=Array.isArray(t)?t:[t];if(r)return{"font-size":n,"line-height":r};let{lineHeight:s,letterSpacing:o,fontWeight:u}=ne(a)?a:{lineHeight:a};return{"font-size":n,...void 0===s?{}:{"line-height":s},...void 0===o?{}:{"letter-spacing":o},...void 0===u?{}:{"font-weight":u}}}},{values:e("fontSize"),modifiers:e("lineHeight"),type:["absolute-size","relative-size","length","percentage"]})},fontWeight:P("fontWeight",[["font",["fontWeight"]]],{type:["lookup","number","any"]}),textTransform:({addUtilities:i})=>{i({".uppercase":{"text-transform":"uppercase"},".lowercase":{"text-transform":"lowercase"},".capitalize":{"text-transform":"capitalize"},".normal-case":{"text-transform":"none"}})},fontStyle:({addUtilities:i})=>{i({".italic":{"font-style":"italic"},".not-italic":{"font-style":"normal"}})},fontVariantNumeric:({addDefaults:i,addUtilities:e})=>{let t="var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)";i("font-variant-numeric",{"--tw-ordinal":" ","--tw-slashed-zero":" ","--tw-numeric-figure":" ","--tw-numeric-spacing":" ","--tw-numeric-fraction":" "}),e({".normal-nums":{"font-variant-numeric":"normal"},".ordinal":{"@defaults font-variant-numeric":{},"--tw-ordinal":"ordinal","font-variant-numeric":t},".slashed-zero":{"@defaults font-variant-numeric":{},"--tw-slashed-zero":"slashed-zero","font-variant-numeric":t},".lining-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-figure":"lining-nums","font-variant-numeric":t},".oldstyle-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-figure":"oldstyle-nums","font-variant-numeric":t},".proportional-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-spacing":"proportional-nums","font-variant-numeric":t},".tabular-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-spacing":"tabular-nums","font-variant-numeric":t},".diagonal-fractions":{"@defaults font-variant-numeric":{},"--tw-numeric-fraction":"diagonal-fractions","font-variant-numeric":t},".stacked-fractions":{"@defaults font-variant-numeric":{},"--tw-numeric-fraction":"stacked-fractions","font-variant-numeric":t}})},lineHeight:P("lineHeight",[["leading",["lineHeight"]]]),letterSpacing:P("letterSpacing",[["tracking",["letterSpacing"]]],{supportsNegativeValues:!0}),textColor:({matchUtilities:i,theme:e,corePlugins:t})=>{i({text:r=>t("textOpacity")?ae({color:r,property:"color",variable:"--tw-text-opacity"}):{color:L(r)}},{values:ie(e("textColor")),type:["color","any"]})},textOpacity:P("textOpacity",[["text-opacity",["--tw-text-opacity"]]]),textDecoration:({addUtilities:i})=>{i({".underline":{"text-decoration-line":"underline"},".overline":{"text-decoration-line":"overline"},".line-through":{"text-decoration-line":"line-through"},".no-underline":{"text-decoration-line":"none"}})},textDecorationColor:({matchUtilities:i,theme:e})=>{i({decoration:t=>({"text-decoration-color":L(t)})},{values:ie(e("textDecorationColor")),type:["color","any"]})},textDecorationStyle:({addUtilities:i})=>{i({".decoration-solid":{"text-decoration-style":"solid"},".decoration-double":{"text-decoration-style":"double"},".decoration-dotted":{"text-decoration-style":"dotted"},".decoration-dashed":{"text-decoration-style":"dashed"},".decoration-wavy":{"text-decoration-style":"wavy"}})},textDecorationThickness:P("textDecorationThickness",[["decoration",["text-decoration-thickness"]]],{type:["length","percentage"]}),textUnderlineOffset:P("textUnderlineOffset",[["underline-offset",["text-underline-offset"]]],{type:["length","percentage","any"]}),fontSmoothing:({addUtilities:i})=>{i({".antialiased":{"-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale"},".subpixel-antialiased":{"-webkit-font-smoothing":"auto","-moz-osx-font-smoothing":"auto"}})},placeholderColor:({matchUtilities:i,theme:e,corePlugins:t})=>{i({placeholder:r=>t("placeholderOpacity")?{"&::placeholder":ae({color:r,property:"color",variable:"--tw-placeholder-opacity"})}:{"&::placeholder":{color:L(r)}}},{values:ie(e("placeholderColor")),type:["color","any"]})},placeholderOpacity:({matchUtilities:i,theme:e})=>{i({"placeholder-opacity":t=>({"&::placeholder":{"--tw-placeholder-opacity":t}})},{values:e("placeholderOpacity")})},caretColor:({matchUtilities:i,theme:e})=>{i({caret:t=>({"caret-color":L(t)})},{values:ie(e("caretColor")),type:["color","any"]})},accentColor:({matchUtilities:i,theme:e})=>{i({accent:t=>({"accent-color":L(t)})},{values:ie(e("accentColor")),type:["color","any"]})},opacity:P("opacity",[["opacity",["opacity"]]]),backgroundBlendMode:({addUtilities:i})=>{i({".bg-blend-normal":{"background-blend-mode":"normal"},".bg-blend-multiply":{"background-blend-mode":"multiply"},".bg-blend-screen":{"background-blend-mode":"screen"},".bg-blend-overlay":{"background-blend-mode":"overlay"},".bg-blend-darken":{"background-blend-mode":"darken"},".bg-blend-lighten":{"background-blend-mode":"lighten"},".bg-blend-color-dodge":{"background-blend-mode":"color-dodge"},".bg-blend-color-burn":{"background-blend-mode":"color-burn"},".bg-blend-hard-light":{"background-blend-mode":"hard-light"},".bg-blend-soft-light":{"background-blend-mode":"soft-light"},".bg-blend-difference":{"background-blend-mode":"difference"},".bg-blend-exclusion":{"background-blend-mode":"exclusion"},".bg-blend-hue":{"background-blend-mode":"hue"},".bg-blend-saturation":{"background-blend-mode":"saturation"},".bg-blend-color":{"background-blend-mode":"color"},".bg-blend-luminosity":{"background-blend-mode":"luminosity"}})},mixBlendMode:({addUtilities:i})=>{i({".mix-blend-normal":{"mix-blend-mode":"normal"},".mix-blend-multiply":{"mix-blend-mode":"multiply"},".mix-blend-screen":{"mix-blend-mode":"screen"},".mix-blend-overlay":{"mix-blend-mode":"overlay"},".mix-blend-darken":{"mix-blend-mode":"darken"},".mix-blend-lighten":{"mix-blend-mode":"lighten"},".mix-blend-color-dodge":{"mix-blend-mode":"color-dodge"},".mix-blend-color-burn":{"mix-blend-mode":"color-burn"},".mix-blend-hard-light":{"mix-blend-mode":"hard-light"},".mix-blend-soft-light":{"mix-blend-mode":"soft-light"},".mix-blend-difference":{"mix-blend-mode":"difference"},".mix-blend-exclusion":{"mix-blend-mode":"exclusion"},".mix-blend-hue":{"mix-blend-mode":"hue"},".mix-blend-saturation":{"mix-blend-mode":"saturation"},".mix-blend-color":{"mix-blend-mode":"color"},".mix-blend-luminosity":{"mix-blend-mode":"luminosity"},".mix-blend-plus-lighter":{"mix-blend-mode":"plus-lighter"}})},boxShadow:(()=>{let i=Ge("boxShadow"),e=["var(--tw-ring-offset-shadow, 0 0 #0000)","var(--tw-ring-shadow, 0 0 #0000)","var(--tw-shadow)"].join(", ");return function({matchUtilities:t,addDefaults:r,theme:n}){r(" box-shadow",{"--tw-ring-offset-shadow":"0 0 #0000","--tw-ring-shadow":"0 0 #0000","--tw-shadow":"0 0 #0000","--tw-shadow-colored":"0 0 #0000"}),t({shadow:a=>{let s=yi(a=i(a));for(let o of s)!o.valid||(o.color="var(--tw-shadow-color)");return{"@defaults box-shadow":{},"--tw-shadow":"none"===a?"0 0 #0000":a,"--tw-shadow-colored":"none"===a?"0 0 #0000":Iu(s),"box-shadow":e}}},{values:n("boxShadow"),type:["shadow"]})}})(),boxShadowColor:({matchUtilities:i,theme:e})=>{i({shadow:t=>({"--tw-shadow-color":L(t),"--tw-shadow":"var(--tw-shadow-colored)"})},{values:ie(e("boxShadowColor")),type:["color","any"]})},outlineStyle:({addUtilities:i})=>{i({".outline-none":{outline:"2px solid transparent","outline-offset":"2px"},".outline":{"outline-style":"solid"},".outline-dashed":{"outline-style":"dashed"},".outline-dotted":{"outline-style":"dotted"},".outline-double":{"outline-style":"double"}})},outlineWidth:P("outlineWidth",[["outline",["outline-width"]]],{type:["length","number","percentage"]}),outlineOffset:P("outlineOffset",[["outline-offset",["outline-offset"]]],{type:["length","number","percentage","any"],supportsNegativeValues:!0}),outlineColor:({matchUtilities:i,theme:e})=>{i({outline:t=>({"outline-color":L(t)})},{values:ie(e("outlineColor")),type:["color","any"]})},ringWidth:({matchUtilities:i,addDefaults:e,addUtilities:t,theme:r,config:n})=>{let a=(()=>{if(Z(n(),"respectDefaultRingColorOpacity"))return r("ringColor.DEFAULT");let s=r("ringOpacity.DEFAULT","0.5");return r("ringColor")?.DEFAULT?De(r("ringColor")?.DEFAULT,s,`rgb(147 197 253 / ${s})`):`rgb(147 197 253 / ${s})`})();e("ring-width",{"--tw-ring-inset":" ","--tw-ring-offset-width":r("ringOffsetWidth.DEFAULT","0px"),"--tw-ring-offset-color":r("ringOffsetColor.DEFAULT","#fff"),"--tw-ring-color":a,"--tw-ring-offset-shadow":"0 0 #0000","--tw-ring-shadow":"0 0 #0000","--tw-shadow":"0 0 #0000","--tw-shadow-colored":"0 0 #0000"}),i({ring:s=>({"@defaults ring-width":{},"--tw-ring-offset-shadow":"var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)","--tw-ring-shadow":`var(--tw-ring-inset) 0 0 0 calc(${s} + var(--tw-ring-offset-width)) var(--tw-ring-color)`,"box-shadow":["var(--tw-ring-offset-shadow)","var(--tw-ring-shadow)","var(--tw-shadow, 0 0 #0000)"].join(", ")})},{values:r("ringWidth"),type:"length"}),t({".ring-inset":{"@defaults ring-width":{},"--tw-ring-inset":"inset"}})},ringColor:({matchUtilities:i,theme:e,corePlugins:t})=>{i({ring:r=>t("ringOpacity")?ae({color:r,property:"--tw-ring-color",variable:"--tw-ring-opacity"}):{"--tw-ring-color":L(r)}},{values:Object.fromEntries(Object.entries(ie(e("ringColor"))).filter((([r])=>"DEFAULT"!==r))),type:["color","any"]})},ringOpacity:i=>{let{config:e}=i;return P("ringOpacity",[["ring-opacity",["--tw-ring-opacity"]]],{filterDefault:!Z(e(),"respectDefaultRingColorOpacity")})(i)},ringOffsetWidth:P("ringOffsetWidth",[["ring-offset",["--tw-ring-offset-width"]]],{type:"length"}),ringOffsetColor:({matchUtilities:i,theme:e})=>{i({"ring-offset":t=>({"--tw-ring-offset-color":L(t)})},{values:ie(e("ringOffsetColor")),type:["color","any"]})},blur:({matchUtilities:i,theme:e})=>{i({blur:t=>({"--tw-blur":`blur(${t})`,"@defaults filter":{},filter:Me})},{values:e("blur")})},brightness:({matchUtilities:i,theme:e})=>{i({brightness:t=>({"--tw-brightness":`brightness(${t})`,"@defaults filter":{},filter:Me})},{values:e("brightness")})},contrast:({matchUtilities:i,theme:e})=>{i({contrast:t=>({"--tw-contrast":`contrast(${t})`,"@defaults filter":{},filter:Me})},{values:e("contrast")})},dropShadow:({matchUtilities:i,theme:e})=>{i({"drop-shadow":t=>({"--tw-drop-shadow":Array.isArray(t)?t.map((r=>`drop-shadow(${r})`)).join(" "):`drop-shadow(${t})`,"@defaults filter":{},filter:Me})},{values:e("dropShadow")})},grayscale:({matchUtilities:i,theme:e})=>{i({grayscale:t=>({"--tw-grayscale":`grayscale(${t})`,"@defaults filter":{},filter:Me})},{values:e("grayscale")})},hueRotate:({matchUtilities:i,theme:e})=>{i({"hue-rotate":t=>({"--tw-hue-rotate":`hue-rotate(${t})`,"@defaults filter":{},filter:Me})},{values:e("hueRotate"),supportsNegativeValues:!0})},invert:({matchUtilities:i,theme:e})=>{i({invert:t=>({"--tw-invert":`invert(${t})`,"@defaults filter":{},filter:Me})},{values:e("invert")})},saturate:({matchUtilities:i,theme:e})=>{i({saturate:t=>({"--tw-saturate":`saturate(${t})`,"@defaults filter":{},filter:Me})},{values:e("saturate")})},sepia:({matchUtilities:i,theme:e})=>{i({sepia:t=>({"--tw-sepia":`sepia(${t})`,"@defaults filter":{},filter:Me})},{values:e("sepia")})},filter:({addDefaults:i,addUtilities:e})=>{i("filter",{"--tw-blur":" ","--tw-brightness":" ","--tw-contrast":" ","--tw-grayscale":" ","--tw-hue-rotate":" ","--tw-invert":" ","--tw-saturate":" ","--tw-sepia":" ","--tw-drop-shadow":" "}),e({".filter":{"@defaults filter":{},filter:Me},".filter-none":{filter:"none"}})},backdropBlur:({matchUtilities:i,theme:e})=>{i({"backdrop-blur":t=>({"--tw-backdrop-blur":`blur(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Be})},{values:e("backdropBlur")})},backdropBrightness:({matchUtilities:i,theme:e})=>{i({"backdrop-brightness":t=>({"--tw-backdrop-brightness":`brightness(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Be})},{values:e("backdropBrightness")})},backdropContrast:({matchUtilities:i,theme:e})=>{i({"backdrop-contrast":t=>({"--tw-backdrop-contrast":`contrast(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Be})},{values:e("backdropContrast")})},backdropGrayscale:({matchUtilities:i,theme:e})=>{i({"backdrop-grayscale":t=>({"--tw-backdrop-grayscale":`grayscale(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Be})},{values:e("backdropGrayscale")})},backdropHueRotate:({matchUtilities:i,theme:e})=>{i({"backdrop-hue-rotate":t=>({"--tw-backdrop-hue-rotate":`hue-rotate(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Be})},{values:e("backdropHueRotate"),supportsNegativeValues:!0})},backdropInvert:({matchUtilities:i,theme:e})=>{i({"backdrop-invert":t=>({"--tw-backdrop-invert":`invert(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Be})},{values:e("backdropInvert")})},backdropOpacity:({matchUtilities:i,theme:e})=>{i({"backdrop-opacity":t=>({"--tw-backdrop-opacity":`opacity(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Be})},{values:e("backdropOpacity")})},backdropSaturate:({matchUtilities:i,theme:e})=>{i({"backdrop-saturate":t=>({"--tw-backdrop-saturate":`saturate(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Be})},{values:e("backdropSaturate")})},backdropSepia:({matchUtilities:i,theme:e})=>{i({"backdrop-sepia":t=>({"--tw-backdrop-sepia":`sepia(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Be})},{values:e("backdropSepia")})},backdropFilter:({addDefaults:i,addUtilities:e})=>{i("backdrop-filter",{"--tw-backdrop-blur":" ","--tw-backdrop-brightness":" ","--tw-backdrop-contrast":" ","--tw-backdrop-grayscale":" ","--tw-backdrop-hue-rotate":" ","--tw-backdrop-invert":" ","--tw-backdrop-opacity":" ","--tw-backdrop-saturate":" ","--tw-backdrop-sepia":" "}),e({".backdrop-filter":{"@defaults backdrop-filter":{},"backdrop-filter":Be},".backdrop-filter-none":{"backdrop-filter":"none"}})},transitionProperty:({matchUtilities:i,theme:e})=>{let t=e("transitionTimingFunction.DEFAULT"),r=e("transitionDuration.DEFAULT");i({transition:n=>({"transition-property":n,..."none"===n?{}:{"transition-timing-function":t,"transition-duration":r}})},{values:e("transitionProperty")})},transitionDelay:P("transitionDelay",[["delay",["transitionDelay"]]]),transitionDuration:P("transitionDuration",[["duration",["transitionDuration"]]],{filterDefault:!0}),transitionTimingFunction:P("transitionTimingFunction",[["ease",["transitionTimingFunction"]]],{filterDefault:!0}),willChange:P("willChange",[["will-change",["will-change"]]]),content:P("content",[["content",["--tw-content",["content","var(--tw-content)"]]]]),forcedColorAdjust:({addUtilities:i})=>{i({".forced-color-adjust-auto":{"forced-color-adjust":"auto"},".forced-color-adjust-none":{"forced-color-adjust":"none"}})}}}));function yC(i){if(void 0===i)return!1;if("true"===i||"1"===i)return!0;if("false"===i||"0"===i)return!1;if("*"===i)return!0;let e=i.split(",").map((t=>t.split(":")[0]));return!e.includes("-tailwindcss")&&!!e.includes("tailwindcss")}var Pe,yd,wd,gn,Qa,He,Kr,ot=C((()=>{l(),Ga(),Pe=void 0!==h?{NODE_ENV:"production",DEBUG:yC(h.env.DEBUG),ENGINE:Ya.tailwindcss.engine}:{NODE_ENV:"production",DEBUG:!1,ENGINE:Ya.tailwindcss.engine},yd=new Map,wd=new Map,gn=new Map,Qa=new Map,He=new String("*"),Kr=Symbol("__NONE__")}));function Nt(i){let e=[],t=!1;for(let r=0;r0)}var bd,vd,wC,Ja=C((()=>{l(),bd=new Map([["{","}"],["[","]"],["(",")"]]),vd=new Map(Array.from(bd.entries()).map((([i,e])=>[e,i]))),wC=new Set(['"',"'","`"])}));function Lt(i){let[e]=xd(i);return e.forEach((([t,r])=>t.removeChild(r))),i.nodes.push(...e.map((([,t])=>t))),i}function xd(i){let e=[],t=null;for(let r of i.nodes)if("combinator"===r.type)e=e.filter((([,n])=>Ka(n).includes("jumpable"))),t=null;else if("pseudo"===r.type){bC(r)?(t=r,e.push([i,r,null])):t&&vC(r,t)?e.push([i,r,t]):t=null;for(let n of r.nodes??[]){let[a,s]=xd(n);t=s||t,e.push(...a)}}return[e,t]}function kd(i){return i.value.startsWith("::")||void 0!==Xa[i.value]}function bC(i){return kd(i)&&Ka(i).includes("terminal")}function vC(i,e){return"pseudo"===i.type&&!kd(i)&&Ka(e).includes("actionable")}function Ka(i){return Xa[i.value]??Xa.__default__}var Xa,yn=C((()=>{l(),Xa={"::after":["terminal","jumpable"],"::backdrop":["terminal","jumpable"],"::before":["terminal","jumpable"],"::cue":["terminal"],"::cue-region":["terminal"],"::first-letter":["terminal","jumpable"],"::first-line":["terminal","jumpable"],"::grammar-error":["terminal"],"::marker":["terminal","jumpable"],"::part":["terminal","actionable"],"::placeholder":["terminal","jumpable"],"::selection":["terminal","jumpable"],"::slotted":["terminal"],"::spelling-error":["terminal"],"::target-text":["terminal"],"::file-selector-button":["terminal","actionable"],"::deep":["actionable"],"::v-deep":["actionable"],"::ng-deep":["actionable"],":after":["terminal","jumpable"],":before":["terminal","jumpable"],":first-letter":["terminal","jumpable"],":first-line":["terminal","jumpable"],":where":[],":is":[],":has":[],__default__:["terminal","actionable"]}}));function $t(i,{context:e,candidate:t}){let r=e?.tailwindConfig.prefix??"",n=i.map((s=>{let o=(0,Fe.default)().astSync(s.format);return{...s,ast:s.respectPrefix?Bt(r,o):o}})),a=Fe.default.root({nodes:[Fe.default.selector({nodes:[Fe.default.className({value:de(t)})]})]});for(let{ast:s}of n)[a,s]=kC(a,s),s.walkNesting((o=>o.replaceWith(...a.nodes[0].nodes))),a=s;return a}function Cd(i){let e=[];for(;i.prev()&&"combinator"!==i.prev().type;)i=i.prev();for(;i&&"combinator"!==i.type;)e.push(i),i=i.next();return e}function eo(i,e){let t=!1;i.walk((r=>{if("class"===r.type&&r.value===e)return t=!0,!1})),t||i.remove()}function wn(i,e,{context:t,candidate:r,base:n}){n=n??oe(r,t?.tailwindConfig?.separator??":").pop();let s=(0,Fe.default)().astSync(i);if(s.walkClasses((f=>{f.raws&&f.value.includes(n)&&(f.raws.value=de((0,Sd.default)(f.raws.value)))})),s.each((f=>eo(f,n))),0===s.length)return null;let o=Array.isArray(e)?$t(e,{context:t,candidate:r}):e;if(null===o)return s.toString();let u=Fe.default.comment({value:"/*__simple__*/"}),c=Fe.default.comment({value:"/*__simple__*/"});return s.walkClasses((f=>{if(f.value!==n)return;let d=f.parent,p=o.nodes[0].nodes;if(1===d.nodes.length)return void f.replaceWith(...p);let m=Cd(f);d.insertBefore(m[0],u),d.insertAfter(m[m.length-1],c);for(let x of p)d.insertBefore(m[0],x.clone());f.remove(),m=Cd(u);let w=d.index(u);d.nodes.splice(w,m.length,...function(i){return i.sort(((e,t)=>"tag"===e.type&&"class"===t.type?-1:"class"===e.type&&"tag"===t.type?1:"class"===e.type&&"pseudo"===t.type&&t.value.startsWith("::")?-1:"pseudo"===e.type&&e.value.startsWith("::")&&"class"===t.type?1:i.index(e)-i.index(t))),i}(Fe.default.selector({nodes:m})).nodes),u.remove(),c.remove()})),s.walkPseudos((f=>{f.value===Za&&f.replaceWith(f.nodes)})),s.each((f=>Lt(f))),s.toString()}function kC(i,e){let t=[];return i.walkPseudos((r=>{r.value===Za&&t.push({pseudo:r,value:r.nodes[0].toString()})})),e.walkPseudos((r=>{if(r.value!==Za)return;let n=r.nodes[0].toString(),a=t.find((c=>c.value===n));if(!a)return;let s=[],o=r.next();for(;o&&"combinator"!==o.type;)s.push(o),o=o.next();let u=o;a.pseudo.parent.insertAfter(a.pseudo,Fe.default.selector({nodes:s.map((c=>c.clone()))})),r.remove(),s.forEach((c=>c.remove())),u&&"combinator"===u.type&&u.remove()})),[i,e]}var Fe,Sd,Za,to=C((()=>{l(),Fe=K(Re()),Sd=K(Yi()),Ft(),un(),yn(),St(),Za=":merge"}));function bn(i,e){let t=(0,ro.default)().astSync(i);return t.each((r=>{"pseudo"===r.nodes[0].type&&":is"===r.nodes[0].value&&r.nodes.every((a=>"combinator"!==a.type))||(r.nodes=[ro.default.pseudo({value:":is",nodes:[r.clone()]})]),Lt(r)})),`${e} ${t.toString()}`}var ro,io=C((()=>{l(),ro=K(Re()),yn()}));function no(i){return SC.transformSync(i)}function AC(i,e){if(0===i.length||""===e.tailwindConfig.prefix)return i;for(let t of i){let[r]=t;if(r.options.respectPrefix){let n=V.root({nodes:[t[1].clone()]}),a=t[1].raws.tailwind.classCandidate;n.walkRules((s=>{let o=a.startsWith("-");s.selector=Bt(e.tailwindConfig.prefix,s.selector,o)})),t[1]=n.nodes[0]}}return i}function _C(i,e){if(0===i.length)return i;let t=[];function r(n){return n.parent&&"atrule"===n.parent.type&&"keyframes"===n.parent.name}for(let[n,a]of i){let s=V.root({nodes:[a.clone()]});s.walkRules((o=>{if(r(o))return;let u=(0,vn.default)().astSync(o.selector);u.each((c=>eo(c,e))),Uu(u,(c=>c===e?`!${c}`:c)),o.selector=u.toString(),o.walkDecls((c=>c.important=!0))})),t.push([{...n,important:!0},s.nodes[0]])}return t}function OC(i,e,t){if(0===e.length)return e;let r={modifier:null,value:Kr};{let[n,...a]=oe(i,"/");if(a.length>1&&(n=n+"/"+a.slice(0,-1).join("/"),a=a.slice(-1)),a.length&&!t.variantMap.has(i)&&(i=n,r.modifier=a[0],!Z(t.tailwindConfig,"generalizedModifiers")))return[]}if(i.endsWith("]")&&!i.startsWith("[")){let n=/(.)(-?)\[(.*)\]/g.exec(i);if(n){let[,a,s,o]=n;if("@"===a&&"-"===s)return[];if("@"!==a&&""===s)return[];i=i.replace(`${s}[${o}]`,""),r.value=o}}if(oo(i)&&!t.variantMap.has(i)){let n=t.offsets.recordVariant(i),s=oe(N(i.slice(1,-1)),",");if(s.length>1)return[];if(!s.every(Cn))return[];let o=s.map(((u,c)=>[t.offsets.applyParallelOffset(n,c),Zr(u.trim())]));t.variantMap.set(i,o)}if(t.variantMap.has(i)){let n=oo(i),a=t.variantOptions.get(i)?.[Jr]??{},s=t.variantMap.get(i).slice(),o=[],u=!(n||!1===a.respectPrefix);for(let[c,f]of e){if("user"===c.layer)continue;let d=V.root({nodes:[f.clone()]});for(let[p,m,w]of s){let b=function(){x.raws.neededBackup||(x.raws.neededBackup=!0,x.walkRules((O=>O.raws.originalSelector=O.selector)))},k=function(O){return b(),x.each((I=>{"rule"===I.type&&(I.selectors=I.selectors.map((B=>O({get className(){return no(B)},selector:B}))))})),x},x=(w??d).clone(),y=[],S=m({get container(){return b(),x},separator:t.tailwindConfig.separator,modifySelectors:k,wrap(O){let I=x.nodes;x.removeAll(),O.append(I),x.append(O)},format(O){y.push({format:O,respectPrefix:u})},args:r});if(Array.isArray(S)){for(let[O,I]of S.entries())s.push([t.offsets.applyParallelOffset(p,O),I,x.clone()]);continue}if("string"==typeof S&&y.push({format:S,respectPrefix:u}),null===S)continue;x.raws.neededBackup&&(delete x.raws.neededBackup,x.walkRules((O=>{let I=O.raws.originalSelector;if(!I||(delete O.raws.originalSelector,I===O.selector))return;let B=O.selector,q=(0,vn.default)((X=>{X.walkClasses((le=>{le.value=`${i}${t.tailwindConfig.separator}${le.value}`}))})).processSync(I);y.push({format:B.replace(q,"&"),respectPrefix:u}),O.selector=I}))),x.nodes[0].raws.tailwind={...x.nodes[0].raws.tailwind,parentLayer:c.layer};let _=[{...c,sort:t.offsets.applyVariantOffset(c.sort,p,Object.assign(r,t.variantOptions.get(i))),collectedFormats:(c.collectedFormats??[]).concat(y)},x.nodes[0]];o.push(_)}}return o}return[]}function so(i,e,t={}){return ne(i)||Array.isArray(i)?Array.isArray(i)?so(i[0],e,i[1]):(e.has(i)||e.set(i,Mt(i)),[e.get(i),t]):[[i],t]}function Ad(i){let e=!0;return i.walkDecls((t=>{if(!_d(t.prop,t.value))return e=!1,!1})),e}function _d(i,e){if(function(i){if(!i.includes("://"))return!1;try{let e=new URL(i);return""!==e.scheme&&""!==e.host}catch(e){return!1}}(`${i}:${e}`))return!1;try{return V.parse(`a{${i}:${e}}`).toResult(),!0}catch(t){return!1}}function DC(i,e){let[,t,r]=i.match(/^\[([a-zA-Z0-9-_]+):(\S+)\]$/)??[];if(void 0===r||!function(i){return EC.test(i)}(t)||!Nt(r))return null;let n=N(r,{property:t});return _d(t,n)?[[{sort:e.offsets.arbitraryProperty(),layer:"utilities"},()=>({[Va(i)]:{[t]:n}})]]:null}function*RC(i,e){for(let t of i)t[1].raws.tailwind={...t[1].raws.tailwind,classCandidate:e,preserveSource:t[0].options?.preserveSource??!1},yield t}function*ao(i,e){let t=e.tailwindConfig.separator,[r,...n]=function(i,e){return i===He?[He]:oe(i,e)}(i,t).reverse(),a=!1;r.startsWith("!")&&(a=!0,r=r.slice(1));for(let s of function*(i,e){e.candidateRuleMap.has(i)&&(yield[e.candidateRuleMap.get(i),"DEFAULT"]),yield*function*(o){null!==o&&(yield[o,"DEFAULT"])}(DC(i,e));let t=i,r=!1,n=e.tailwindConfig.prefix,a=n.length,s=t.startsWith(n)||t.startsWith(`-${n}`);"-"===t[a]&&s&&(r=!0,t=n+t.slice(a+1)),r&&e.candidateRuleMap.has(t)&&(yield[e.candidateRuleMap.get(t),"-DEFAULT"]);for(let[o,u]of function*(i){let e=1/0;for(;e>=0;){let t,r=!1;if(e===1/0&&i.endsWith("]")){let s=i.indexOf("[");"-"===i[s-1]?t=s-1:"/"===i[s-1]?(t=s-1,r=!0):t=-1}else e===1/0&&i.includes("/")?(t=i.lastIndexOf("/"),r=!0):t=i.lastIndexOf("-",e);if(t<0)break;let n=i.slice(0,t),a=i.slice(r?t:t+1);e=t-1,""!==n&&"/"!==a&&(yield[n,a])}}(t))e.candidateRuleMap.has(o)&&(yield[e.candidateRuleMap.get(o),r?`-${u}`:u])}(r,e)){let o=[],u=new Map,[c,f]=s,d=1===c.length;for(let[p,m]of c){let w=[];if("function"==typeof m)for(let x of[].concat(m(f,{isOnlyPlugin:d}))){let[y,b]=so(x,e.postCssNodeCache);for(let k of y)w.push([{...p,options:{...p.options,...b}},k])}else if("DEFAULT"===f||"-DEFAULT"===f){let x=m,[y,b]=so(x,e.postCssNodeCache);for(let k of y)w.push([{...p,options:{...p.options,...b}},k])}if(w.length>0){let x=Array.from(fs(p.options?.types??[],f,p.options??{},e.tailwindConfig)).map((([y,b])=>b));x.length>0&&u.set(w,x),o.push(w)}}if(oo(f)){if(o.length>1){let w=function(y){return 1===y.length?y[0]:y.find((b=>{let k=u.get(b);return b.some((([{options:S},_])=>!!Ad(_)&&S.types.some((({type:O,preferOnConflict:I})=>k.includes(O)&&I))))}))},[p,m]=o.reduce(((y,b)=>(b.some((([{options:S}])=>S.types.some((({type:_})=>"any"===_))))?y[0].push(b):y[1].push(b),y)),[[],[]]),x=w(m)??w(p);if(!x){let y=o.map((k=>new Set([...u.get(k)??[]])));for(let k of y)for(let S of k){let _=!1;for(let O of y)k!==O&&O.has(S)&&(O.delete(S),_=!0);_&&k.delete(S)}let b=[];for(let[k,S]of y.entries())for(let _ of S){let O=o[k].map((([,I])=>I)).flat().map((I=>I.toString().split("\n").slice(1,-1).map((B=>B.trim())).map((B=>` ${B}`)).join("\n"))).join("\n\n");b.push(` Use \`${i.replace("[",`[${_}:`)}\` for \`${O.trim()}\``);break}F.warn([`The class \`${i}\` is ambiguous and matches multiple utilities.`,...b,`If this is content and not a class, replace it with \`${i.replace("[","[").replace("]","]")}\` to silence this warning.`]);continue}o=[x]}o=o.map((p=>p.filter((m=>Ad(m[1])))))}o=o.flat(),o=Array.from(RC(o,r)),o=AC(o,e),a&&(o=_C(o,r));for(let p of n)o=OC(p,o,e);for(let p of o)p[1].raws.tailwind={...p[1].raws.tailwind,candidate:i},p=MC(p,{context:e,candidate:i}),null!==p&&(yield p)}}function MC(i,{context:e,candidate:t}){if(!i[0].collectedFormats)return i;let n,r=!0;try{n=$t(i[0].collectedFormats,{context:e,candidate:t})}catch{return null}let a=V.root({nodes:[i[1].clone()]});return a.walkRules((s=>{if(!xn(s))try{let o=wn(s.selector,n,{candidate:t,context:e});if(null===o)return void s.remove();s.selector=o}catch{return r=!1,!1}})),r&&0!==a.nodes.length?(i[1]=a.nodes[0],i):null}function xn(i){return i.parent&&"atrule"===i.parent.type&&"keyframes"===i.parent.name}function kn(i,e,t=!1){let r=[],n=function(i){return!0===i?e=>{xn(e)||e.walkDecls((t=>{"rule"===t.parent.type&&!xn(t.parent)&&(t.important=!0)}))}:"string"==typeof i?e=>{xn(e)||(e.selectors=e.selectors.map((t=>bn(t,i))))}:void 0}(e.tailwindConfig.important);for(let a of i){if(e.notClassCache.has(a))continue;if(e.candidateRuleCache.has(a)){r=r.concat(Array.from(e.candidateRuleCache.get(a)));continue}let s=Array.from(ao(a,e));if(0===s.length){e.notClassCache.add(a);continue}e.classCache.set(a,s);let o=e.candidateRuleCache.get(a)??new Set;e.candidateRuleCache.set(a,o);for(let u of s){let[{sort:c,options:f},d]=u;if(f.respectImportant&&n){let m=V.root({nodes:[d.clone()]});m.walkRules(n),d=m.nodes[0]}let p=[c,t?d.clone():d];o.add(p),e.ruleCache.add(p),r.push(p)}}return r}function oo(i){return i.startsWith("[")&&i.endsWith("]")}var vn,SC,EC,Od,Sn=C((()=>{l(),nt(),vn=K(Re()),za(),kt(),un(),cr(),Oe(),ot(),to(),Ua(),fr(),Xr(),Ja(),St(),ze(),io(),SC=(0,vn.default)((i=>i.first.filter((({type:e})=>"class"===e)).pop().value)),EC=/^[a-z_-]/})),Ed=C((()=>{l(),Od={}}));function Td(i,e){let t=e.toString();if(!t.includes("@tailwind"))return!1;let r=Qa.get(i),n=function(i){try{return Od.createHash("md5").update(i,"utf-8").digest("binary")}catch(e){return""}}(t),a=r!==n;return Qa.set(i,n),a}var Pd=C((()=>{l(),Ed(),ot()}));function An(i){return(i>0n)-(i<0n)}var Dd=C((()=>{l()}));function Id(i,e){let t=0n,r=0n;for(let[n,a]of e)i&n&&(t|=n,r|=a);return i&~t|r}var qd=C((()=>{l()}));function Rd(i){let e=null;for(let t of i)e=e??t,e=e>t?e:t;return e}var lo,Md=C((()=>{l(),Dd(),qd(),lo=class{constructor(){this.offsets={defaults:0n,base:0n,components:0n,utilities:0n,variants:0n,user:0n},this.layerPositions={defaults:0n,base:1n,components:2n,utilities:3n,user:4n,variants:5n},this.reservedVariantBits=0n,this.variantOffsets=new Map}create(e){return{layer:e,parentLayer:e,arbitrary:0n,variants:0n,parallelIndex:0n,index:this.offsets[e]++,options:[]}}arbitraryProperty(){return{...this.create("utilities"),arbitrary:1n}}forVariant(e,t=0){let r=this.variantOffsets.get(e);if(void 0===r)throw new Error(`Cannot find offset for unknown variant ${e}`);return{...this.create("variants"),variants:r<n.startsWith("["))).sort((([n],[a])=>function(i,e){let t=i.length,r=e.length,n=tn)).sort(((n,a)=>An(n-a)));return e.map((([,n],a)=>[n,t[a]])).filter((([n,a])=>n!==a))}remapArbitraryVariantOffsets(e){let t=this.recalculateVariantOffsets();return 0===t.length?e:e.map((r=>{let[n,a]=r;return n={...n,variants:Id(n.variants,t)},[n,a]}))}sort(e){return(e=this.remapArbitraryVariantOffsets(e)).sort((([t],[r])=>An(this.compare(t,r))))}}}));function po(i,e){let t=i.tailwindConfig.prefix;return"function"==typeof t?t(e):t+e}function Fd({type:i="any",...e}){return{...e,types:[].concat(i).map((r=>Array.isArray(r)?{type:r[0],...r[1]}:{type:r,preferOnConflict:!1}))}}function Nd(i){return Array.isArray(i)?i.flatMap((e=>Array.isArray(e)||ne(e)?Mt(e):e)):Nd([i])}function jC(i,e){return(0,uo.default)((r=>{let n=[];return e&&e(r),r.walkClasses((a=>{n.push(a.value)})),n})).transformSync(i)}function zC(i){i.walkPseudos((e=>{":not"===e.value&&e.remove()}))}function _n(i){return Nd(i).flatMap((e=>{let t=new Map,[r,n]=function(i,e={containsNonOnDemandable:!1},t=0){let r=[],n=[];"rule"===i.type?n.push(...i.selectors):"atrule"===i.type&&i.walkRules((a=>n.push(...a.selectors)));for(let a of n){let s=jC(a,zC);0===s.length&&(e.containsNonOnDemandable=!0);for(let o of s)r.push(o)}return 0===t?[e.containsNonOnDemandable||0===r.length,r]:r}(e);return r&&n.unshift(He),n.map((a=>(t.has(e)||t.set(e,e),[a,t.get(e)])))}))}function Cn(i){return i.startsWith("@")||i.includes("&")}function Zr(i){let e=function(i){let e=[],t="",r=0;for(let n=0;n0&&e.push(t.trim()),e=e.filter((n=>""!==n)),e}(i=i.replace(/\n+/g,"").replace(/\s{1,}/g," ").trim()).map((t=>{if(!t.startsWith("@"))return({format:a})=>a(t);let[,r,n]=/@(\S*)( .+|[({].*)?/g.exec(t);return({wrap:a})=>a(V.atRule({name:r,params:n?.trim()??""}))})).reverse();return t=>{for(let r of e)r(t)}}function UC(i,e,{variantList:t,variantMap:r,offsets:n,classList:a}){function s(p,m){return p?(0,Bd.default)(i,p,m):i}function u(p,m){return p===He?He:m.respectPrefix?e.tailwindConfig.prefix+p:p}let f=0,d={postcss:V,prefix:function(p){return Bt(i.prefix,p)},e:de,config:s,theme:function(p,m,w={}){let x=Ke(p),y=s(["theme",...x],m);return Ge(x[0])(y,w)},corePlugins:p=>Array.isArray(i.corePlugins)?i.corePlugins.includes(p):s(["corePlugins",p],!0),variants:()=>[],addBase(p){for(let[m,w]of _n(p)){let x=u(m,{}),y=n.create("base");e.candidateRuleMap.has(x)||e.candidateRuleMap.set(x,[]),e.candidateRuleMap.get(x).push([{sort:y,layer:"base"},w])}},addDefaults(p,m){let w={[`@defaults ${p}`]:m};for(let[x,y]of _n(w)){let b=u(x,{});e.candidateRuleMap.has(b)||e.candidateRuleMap.set(b,[]),e.candidateRuleMap.get(b).push([{sort:n.create("defaults"),layer:"defaults"},y])}},addComponents(p,m){m=Object.assign({},{preserveSource:!1,respectPrefix:!0,respectImportant:!1},Array.isArray(m)?{}:m);for(let[x,y]of _n(p)){let b=u(x,m);a.add(b),e.candidateRuleMap.has(b)||e.candidateRuleMap.set(b,[]),e.candidateRuleMap.get(b).push([{sort:n.create("components"),layer:"components",options:m},y])}},addUtilities(p,m){m=Object.assign({},{preserveSource:!1,respectPrefix:!0,respectImportant:!0},Array.isArray(m)?{}:m);for(let[x,y]of _n(p)){let b=u(x,m);a.add(b),e.candidateRuleMap.has(b)||e.candidateRuleMap.set(b,[]),e.candidateRuleMap.get(b).push([{sort:n.create("utilities"),layer:"utilities",options:m},y])}},matchUtilities:function(p,m){m=Fd({respectPrefix:!0,respectImportant:!0,modifiers:!1,...m});let x=n.create("utilities");for(let y in p){let S=function(O,{isOnlyPlugin:I}){let[B,q,X]=us(m.types,O,m,i);if(void 0===B)return[];if(!m.types.some((({type:j})=>j===q))){if(!I)return[];F.warn([`Unnecessary typehint \`${q}\` in \`${y}-${O}\`.`,`You can safely update it to \`${y}-${O.replace(q+":","")}\`.`])}if(!Nt(B))return[];let le={get modifier(){return m.modifiers||F.warn(`modifier-used-without-options-for-${y}`,["Your plugin must set `modifiers: true` in its options to support modifiers."]),X}},ce=Z(i,"generalizedModifiers");return[].concat(ce?k(B,le):k(B)).filter(Boolean).map((j=>({[fn(y,O)]:j})))},b=u(y,m),k=p[y];a.add([b,m]);let _=[{sort:x,layer:"utilities",options:m},S];e.candidateRuleMap.has(b)||e.candidateRuleMap.set(b,[]),e.candidateRuleMap.get(b).push(_)}},matchComponents:function(p,m){m=Fd({respectPrefix:!0,respectImportant:!1,modifiers:!1,...m});let x=n.create("components");for(let y in p){let S=function(O,{isOnlyPlugin:I}){let[B,q,X]=us(m.types,O,m,i);if(void 0===B)return[];if(!m.types.some((({type:j})=>j===q))){if(!I)return[];F.warn([`Unnecessary typehint \`${q}\` in \`${y}-${O}\`.`,`You can safely update it to \`${y}-${O.replace(q+":","")}\`.`])}if(!Nt(B))return[];let le={get modifier(){return m.modifiers||F.warn(`modifier-used-without-options-for-${y}`,["Your plugin must set `modifiers: true` in its options to support modifiers."]),X}},ce=Z(i,"generalizedModifiers");return[].concat(ce?k(B,le):k(B)).filter(Boolean).map((j=>({[fn(y,O)]:j})))},b=u(y,m),k=p[y];a.add([b,m]);let _=[{sort:x,layer:"components",options:m},S];e.candidateRuleMap.has(b)||e.candidateRuleMap.set(b,[]),e.candidateRuleMap.get(b).push(_)}},addVariant(p,m,w={}){m=[].concat(m).map((x=>{if("string"!=typeof x)return(y={})=>{let{args:b,modifySelectors:k,container:S,separator:_,wrap:O,format:I}=y,B=x(Object.assign({modifySelectors:k,container:S,separator:_},w.type===fo.MatchVariant&&{args:b,wrap:O,format:I}));if("string"==typeof B&&!Cn(B))throw new Error(`Your custom variant \`${p}\` has an invalid format string. Make sure it's an at-rule or contains a \`&\` placeholder.`);return Array.isArray(B)?B.filter((q=>"string"==typeof q)).map((q=>Zr(q))):B&&"string"==typeof B&&Zr(B)(y)};if(!Cn(x))throw new Error(`Your custom variant \`${p}\` has an invalid format string. Make sure it's an at-rule or contains a \`&\` placeholder.`);return Zr(x)})),function(i,e,{before:t=[]}={}){if((t=[].concat(t)).length<=0)return void i.push(e);let r=i.length-1;for(let n of t){let a=i.indexOf(n);-1!==a&&(r=Math.min(r,a))}i.splice(r,0,e)}(t,p,w),r.set(p,m),e.variantOptions.set(p,w)},matchVariant(p,m,w){let x=w?.id??++f,y="@"===p,b=Z(i,"generalizedModifiers");for(let[S,_]of Object.entries(w?.values??{}))"DEFAULT"!==S&&d.addVariant(y?`${p}${S}`:`${p}-${S}`,(({args:O,container:I})=>m(_,b?{modifier:O?.modifier,container:I}:{container:I})),{...w,value:_,id:x,type:fo.MatchVariant,variantInfo:co.Base});let k="DEFAULT"in(w?.values??{});d.addVariant(p,(({args:S,container:_})=>S?.value!==Kr||k?m(S?.value===Kr?w.values.DEFAULT:S?.value??("string"==typeof S?S:""),b?{modifier:S?.modifier,container:_}:{container:_}):null),{...w,id:x,type:fo.MatchVariant,variantInfo:co.Dynamic})}};return d}function On(i){return ho.has(i)||ho.set(i,new Map),ho.get(i)}function Ld(i,e){let t=!1,r=new Map;for(let n of i){if(!n)continue;let a=gs.parse(n),s=a.hash?a.href.replace(a.hash,""):a.href;s=a.search?s.replace(a.search,""):s;let o=re.statSync(decodeURIComponent(s),{throwIfNoEntry:!1})?.mtimeMs;!o||((!e.has(n)||o>e.get(n))&&(t=!0),r.set(n,o))}return[t,r]}function $d(i){i.walkAtRules((e=>{["responsive","variants"].includes(e.name)&&($d(e),e.before(e.nodes),e.remove())}))}function WC(i){let e=[];return i.each((t=>{"atrule"===t.type&&["responsive","variants"].includes(t.name)&&(t.name="layer",t.params="utilities")})),i.walkAtRules("layer",(t=>{if($d(t),"base"===t.params){for(let r of t.nodes)e.push((function({addBase:n}){n(r,{respectPrefix:!1})}));t.remove()}else if("components"===t.params){for(let r of t.nodes)e.push((function({addComponents:n}){n(r,{respectPrefix:!1,preserveSource:!0})}));t.remove()}else if("utilities"===t.params){for(let r of t.nodes)e.push((function({addUtilities:n}){n(r,{respectPrefix:!1,preserveSource:!0})}));t.remove()}})),e}function jd(i,e){!i.classCache.has(e)||(i.notClassCache.add(e),i.classCache.delete(e),i.applyClassCache.delete(e),i.candidateRuleMap.delete(e),i.candidateRuleCache.delete(e),i.stylesheetCache=null)}function mo(i,e=[],t=V.root()){let r={disposables:[],ruleCache:new Set,candidateRuleCache:new Map,classCache:new Map,applyClassCache:new Map,notClassCache:new Set(i.blocklist??[]),postCssNodeCache:new Map,candidateRuleMap:new Map,tailwindConfig:i,changedContent:e,variantMap:new Map,stylesheetCache:null,variantOptions:new Map,markInvalidUtilityCandidate:a=>jd(r,a),markInvalidUtilityNode:a=>function(i,e){let t=e.raws.tailwind.candidate;if(t){for(let r of i.ruleCache)r[1].raws.tailwind.candidate===t&&i.ruleCache.delete(r);jd(i,t)}}(r,a)},n=function(i,e){let t=Object.entries({...Y,...md}).map((([u,c])=>i.tailwindConfig.corePlugins.includes(u)?c:null)).filter(Boolean),r=i.tailwindConfig.plugins.map((u=>(u.__isOptionsFunction&&(u=u()),"function"==typeof u?u:u.handler))),n=WC(e),a=[Y.childVariant,Y.pseudoElementVariants,Y.pseudoClassVariants,Y.hasVariants,Y.ariaVariants,Y.dataVariants],s=[Y.supportsVariants,Y.reducedMotionVariants,Y.prefersContrastVariants,Y.screenVariants,Y.orientationVariants,Y.directionVariants,Y.darkVariants,Y.forcedColorsVariants,Y.printVariant];return("class"===i.tailwindConfig.darkMode||Array.isArray(i.tailwindConfig.darkMode)&&"class"===i.tailwindConfig.darkMode[0])&&(s=[Y.supportsVariants,Y.reducedMotionVariants,Y.prefersContrastVariants,Y.darkVariants,Y.screenVariants,Y.orientationVariants,Y.directionVariants,Y.forcedColorsVariants,Y.printVariant]),[...t,...a,...r,...s,...n]}(r,t);return function(i,e){let t=[],r=new Map;e.variantMap=r;let n=new lo;e.offsets=n;let a=new Set,s=UC(e.tailwindConfig,e,{variantList:t,variantMap:r,offsets:n,classList:a});for(let f of i)if(Array.isArray(f))for(let d of f)d(s);else f?.(s);n.recordVariants(t,(f=>r.get(f).length));for(let[f,d]of r.entries())e.variantMap.set(f,d.map(((p,m)=>[n.forVariant(f,m),p])));let o=(e.tailwindConfig.safelist??[]).filter(Boolean);if(o.length>0){let f=[];for(let d of o)"string"!=typeof d?d instanceof RegExp?F.warn("root-regex",["Regular expressions in `safelist` work differently in Tailwind CSS v3.0.","Update your `safelist` configuration to eliminate this warning.","https://tailwindcss.com/docs/content-configuration#safelisting-classes"]):f.push(d):e.changedContent.push({content:d,extension:"html"});if(f.length>0){let d=new Map,p=e.tailwindConfig.prefix.length,m=f.some((w=>w.pattern.source.includes("!")));for(let w of a){let x=Array.isArray(w)?(()=>{let[y,b]=w,S=Object.keys(b?.values??{}).map((_=>Qr(y,_)));return b?.supportsNegativeValues&&(S=[...S,...S.map((_=>"-"+_))],S=[...S,...S.map((_=>_.slice(0,p)+"-"+_.slice(p)))]),b.types.some((({type:_})=>"color"===_))&&(S=[...S,...S.flatMap((_=>Object.keys(e.tailwindConfig.theme.opacity).map((O=>`${_}/${O}`))))]),m&&b?.respectImportant&&(S=[...S,...S.map((_=>"!"+_))]),S})():[w];for(let y of x)for(let{pattern:b,variants:k=[]}of f)if(b.lastIndex=0,d.has(b)||d.set(b,0),b.test(y)){d.set(b,d.get(b)+1),e.changedContent.push({content:y,extension:"html"});for(let S of k)e.changedContent.push({content:S+e.tailwindConfig.separator+y,extension:"html"})}}for(let[w,x]of d.entries())0===x&&F.warn([`The safelist pattern \`${w}\` doesn't match any Tailwind CSS classes.`,"Fix this pattern or remove it from your `safelist` configuration.","https://tailwindcss.com/docs/content-configuration#safelisting-classes"])}}let u=[].concat(e.tailwindConfig.darkMode??"media")[1]??"dark",c=[po(e,u),po(e,"group"),po(e,"peer")];e.getClassOrder=function(d){let p=[...d].sort(((y,b)=>y===b?0:y[y,null]))),w=kn(new Set(p),e,!0);w=e.offsets.sort(w);let x=BigInt(c.length);for(let[,y]of w){let b=y.raws.tailwind.candidate;m.set(b,m.get(b)??x++)}return d.map((y=>{let b=m.get(y)??null,k=c.indexOf(y);return null===b&&-1!==k&&(b=BigInt(k)),[y,b]}))},e.getClassList=function(d={}){let p=[];for(let m of a)if(Array.isArray(m)){let[w,x]=m,y=[],b=Object.keys(x?.modifiers??{});x?.types?.some((({type:_})=>"color"===_))&&b.push(...Object.keys(e.tailwindConfig.theme.opacity??{}));let k={modifiers:b},S=d.includeMetadata&&b.length>0;for(let[_,O]of Object.entries(x?.values??{})){if(null==O)continue;let I=Qr(w,_);if(p.push(S?[I,k]:I),x?.supportsNegativeValues&&Xe(O)){let B=Qr(w,`-${_}`);y.push(S?[B,k]:B)}}p.push(...y)}else p.push(m);return p},e.getVariants=function(){let d=[];for(let[p,m]of e.variantOptions.entries())m.variantInfo!==co.Base&&d.push({name:p,isArbitrary:m.type===Symbol.for("MATCH_VARIANT"),values:Object.keys(m.values??{}),hasDash:"@"!==p,selectors({modifier:w,value:x}={}){let y="__TAILWIND_PLACEHOLDER__",b=V.rule({selector:`.${y}`}),k=V.root({nodes:[b.clone()]}),S=k.toString(),_=(e.variantMap.get(p)??[]).flatMap((([j,ue])=>ue)),O=[];for(let j of _){let ue=[],ai={args:{modifier:w,value:m.values?.[x]??x},separator:e.tailwindConfig.separator,modifySelectors:Ce=>(k.each((Yn=>{"rule"===Yn.type&&(Yn.selectors=Yn.selectors.map((lu=>Ce({get className(){return no(lu)},selector:lu}))))})),k),format(Ce){ue.push(Ce)},wrap(Ce){ue.push(`@${Ce.name} ${Ce.params} { & }`)},container:k},oi=j(ai);if(ue.length>0&&O.push(ue),Array.isArray(oi))for(let Ce of oi)ue=[],Ce(ai),O.push(ue)}let I=[];S!==k.toString()&&(k.walkRules((j=>{let ue=j.selector,ai=(0,uo.default)((oi=>{oi.walkClasses((Ce=>{Ce.value=`${p}${e.tailwindConfig.separator}${Ce.value}`}))})).processSync(ue);I.push(ue.replace(ai,"&").replace(y,"&"))})),k.walkAtRules((j=>{I.push(`@${j.name} (${j.params}) { & }`)})));let q=!(x in(m.values??{})),X=m[Jr]??{},le=!(q||!1===X.respectPrefix);O=O.map((j=>j.map((ue=>({format:ue,respectPrefix:le}))))),I=I.map((j=>({format:j,respectPrefix:le})));let ce={candidate:y,context:e},$e=O.map((j=>wn(`.${y}`,$t(j,ce),ce).replace(`.${y}`,"&").replace("{ & }","").trim()));return I.length>0&&$e.push($t(I,ce).toString().replace(`.${y}`,"&")),$e}});return d}}(n,r),r}var Bd,uo,Jr,fo,co,ho,jt,ei,lt,Xr=C((()=>{l(),je(),ys(),nt(),Bd=K(Ls()),uo=K(Re()),Hr(),za(),un(),kt(),Ft(),Ua(),cr(),gd(),ot(),ot(),pi(),Oe(),fi(),Ja(),Sn(),Pd(),Md(),ze(),to(),Jr=Symbol(),fo={AddVariant:Symbol.for("ADD_VARIANT"),MatchVariant:Symbol.for("MATCH_VARIANT")},co={Base:1,Dynamic:2},ho=new WeakMap,jt=yd,ei=wd,lt=gn}));function go(i){return i.ignore?[]:i.glob?"true"===h.env.ROLLUP_WATCH?[{type:"dependency",file:i.base}]:[{type:"dir-dependency",dir:i.base,glob:i.glob}]:[{type:"dependency",file:i.base}]}var Vd=C((()=>{l()}));function Ud(i,e){return{handler:i,config:e}}var Wd,Gd=C((()=>{l(),Ud.withOptions=function(i,e=(()=>({}))){let t=function(r){return{__options:r,handler:i(r),config:e(r)}};return t.__isOptionsFunction=!0,t.__pluginFunction=i,t.__configFunction=e,t},Wd=Ud})),yo={};Ae(yo,{default:()=>QC});var QC,wo=C((()=>{l(),Gd(),QC=Wd})),Yd=v(((qD,Hd)=>{l();var JC=(wo(),yo).default,XC={overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical"},KC=JC((function({matchUtilities:i,addUtilities:e,theme:t,variants:r}){i({"line-clamp":a=>({...XC,"-webkit-line-clamp":`${a}`})},{values:t("lineClamp")}),e([{".line-clamp-none":{"-webkit-line-clamp":"unset"}}],r("lineClamp"))}),{theme:{lineClamp:{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6"}},variants:{lineClamp:["responsive"]}});Hd.exports=KC}));function bo(i){0===i.content.files.length&&F.warn("content-problems",["The `content` option in your Tailwind CSS configuration is missing or empty.","Configure your content sources or your generated CSS will be missing styles.","https://tailwindcss.com/docs/content-configuration"]);try{let e=Yd();i.plugins.includes(e)&&(F.warn("line-clamp-in-core",["As of Tailwind CSS v3.3, the `@tailwindcss/line-clamp` plugin is now included by default.","Remove it from the `plugins` array in your configuration to eliminate this warning."]),i.plugins=i.plugins.filter((t=>t!==e)))}catch{}return i}var Jd,En,vo,eh,Qd=C((()=>{l(),Oe()})),Xd=C((()=>{l(),Jd=()=>!1})),Kd=C((()=>{l(),En={sync:i=>[].concat(i),generateTasks:i=>[{dynamic:!1,base:".",negative:[],positive:[].concat(i),patterns:[].concat(i)}],escapePath:i=>i}})),Zd=C((()=>{l(),vo=i=>i})),th=C((()=>{l(),eh=()=>""}));var ih=C((()=>{l(),th()}));function nh(i,e){let t=e.content.files;t=t.filter((o=>"string"==typeof o)),t=t.map(vo);let r=En.generateTasks(t),n=[],a=[];for(let o of r)n.push(...o.positive.map((u=>sh(u,!1)))),a.push(...o.negative.map((u=>sh(u,!0))));let s=[...n,...a];return s=function(i,e){let t=[];return i.userConfigPath&&i.tailwindConfig.content.relative&&(t=[ee.dirname(i.userConfigPath)]),e.map((r=>(r.base=ee.resolve(...t,r.base),r)))}(i,s),s=s.flatMap(t2),s=s.map(ZC),s}function sh(i,e){let t={original:i,base:i,ignore:e,pattern:i,glob:null};return Jd(i)&&Object.assign(t,function(i){let e=i,t=eh(i);return"."!==t&&(e=i.substr(t.length),"/"===e.charAt(0)&&(e=e.substr(1))),"./"===e.substr(0,2)&&(e=e.substr(2)),"/"===e.charAt(0)&&(e=e.substr(1)),{base:t,glob:e}}(i)),t}function ZC(i){let e=vo(i.base);return e=En.escapePath(e),i.pattern=i.glob?`${e}/${i.glob}`:e,i.pattern=i.ignore?`!${i.pattern}`:i.pattern,i}function t2(i){let e=[i];try{let t=re.realpathSync(i.base);t!==i.base&&e.push({...i,base:t})}catch{}return e}function ah(i,e,t){let r=i.tailwindConfig.content.files.filter((s=>"string"==typeof s.raw)).map((({raw:s,extension:o="html"})=>({content:s,extension:o}))),[n,a]=function(i,e){let t=i.map((s=>s.pattern)),r=new Map,n=new Set;Pe.DEBUG&&console.time("Finding changed files");let a=En.sync(t,{absolute:!0});for(let s of a){let o=e.get(s)||-1/0,u=re.statSync(s).mtimeMs;u>o&&(n.add(s),r.set(s,u))}return Pe.DEBUG&&console.timeEnd("Finding changed files"),[n,r]}(e,t);for(let s of n){let o=ee.extname(s).slice(1);r.push({file:s,extension:o})}return[r,a]}var oh=C((()=>{l(),je(),gt(),Xd(),Kd(),Zd(),ih(),ot()}));var uh=C((()=>{l()}));function*fh(i,e,t,r=ee.extname(i)){let n=function(i,e){for(let t of e){let r=`${i}${t}`;if(re.existsSync(r)&&re.statSync(r).isFile())return r}for(let t of e){let r=`${i}/index${t}`;if(re.existsSync(r))return r}return null}(ee.resolve(e,i),i2.includes(r)?n2:s2);if(null===n||t.has(n))return;t.add(n),yield n,e=ee.dirname(n),r=ee.extname(n);let a=re.readFileSync(n,"utf-8");for(let s of[...a.matchAll(/import[\s\S]*?['"](.{3,}?)['"]/gi),...a.matchAll(/import[\s\S]*from[\s\S]*?['"](.{3,}?)['"]/gi),...a.matchAll(/require\(['"`](.+)['"`]\)/gi)])!s[1].startsWith(".")||(yield*fh(s[1],e,t,r))}var i2,n2,s2,ch=C((()=>{l(),je(),gt(),i2=[".js",".cjs",".mjs"],n2=["",".js",".cjs",".mjs",".ts",".cts",".mts",".jsx",".tsx"],s2=["",".ts",".cts",".mts",".tsx",".js",".cjs",".mjs",".jsx"]}));function l2(i){let e=ms(i);if(null!==e){let[r,n,a,s]=dh.get(e)||[],o=function(i){return null===i?new Set:new Set(fh(i,ee.dirname(i),new Set))}(e),u=!1,c=new Map;for(let p of o){let m=re.statSync(p).mtimeMs;c.set(p,m),(!s||!s.has(p)||m>s.get(p))&&(u=!0)}if(!u)return[r,e,n,a];for(let p of o)delete fu.cache[p];let f=bo(dr(void 0)),d=ui(f);return dh.set(e,[f,d,o,c]),[f,e,d,o]}let t=dr(i?.config??i??{});return t=bo(t),[t,null,ui(t),[]]}function So(i){return({tailwindDirectives:e,registerDependency:t})=>(r,n)=>{let[a,s,o,u]=l2(i),c=new Set(u);if(e.size>0){c.add(n.opts.from);for(let w of n.messages)"dependency"===w.type&&c.add(w.file)}let[f,,d]=function(i,e,t,r,n,a){let u,s=e.opts.from,o=null!==r;if(Pe.DEBUG&&console.log("Source path:",s),o&&jt.has(s))u=jt.get(s);else if(ei.has(n)){let p=ei.get(n);lt.get(p).add(s),jt.set(s,p),u=p}let c=Td(s,i);if(u){let[p,m]=Ld([...a],On(u));if(!p&&!c)return[u,!1,m]}if(jt.has(s)){let p=jt.get(s);if(lt.has(p)&&(lt.get(p).delete(s),0===lt.get(p).size)){lt.delete(p);for(let[m,w]of ei)w===p&&ei.delete(m);for(let m of p.disposables.splice(0))m(p)}}Pe.DEBUG&&console.log("Setting up new context...");let f=mo(t,[],i);Object.assign(f,{userConfigPath:r});let[,d]=Ld([...a],On(f));return ei.set(n,f),jt.set(s,f),lt.has(f)||lt.set(f,new Set),lt.get(f).add(s),[f,!0,d]}(r,n,a,s,o,c),p=On(f),m=function(i,e){if(ko.has(i))return ko.get(i);let t=nh(i,e);return ko.set(i,t).get(i)}(f,a);if(e.size>0){for(let y of m)for(let b of go(y))t(b);let[w,x]=ah(f,m,p);for(let y of w)f.changedContent.push(y);for(let[y,b]of x.entries())d.set(y,b)}for(let w of u)t({type:"dependency",file:w});for(let[w,x]of d.entries())p.set(w,x);return f}}var ph,dh,ko,hh=C((()=>{l(),je(),ph=K(Qn()),mu(),hs(),sf(),Xr(),Vd(),Qd(),oh(),uh(),ch(),dh=new ph.default({maxSize:100}),ko=new WeakMap}));var mh=C((()=>{l(),Oe()}));function vt(i,e=void 0,t=void 0){return i.map((r=>{let n=r.clone();return void 0!==t&&(n.raws.tailwind={...n.raws.tailwind,...t}),void 0!==e&&gh(n,(a=>{if(!0===a.raws.tailwind?.preserveSource&&a.source)return!1;a.source=e})),n}))}function gh(i,e){!1!==e(i)&&i.each?.((t=>gh(t,e)))}var yh=C((()=>{l()}));function Ao(i){return(i=(i=Array.isArray(i)?i:[i]).map((e=>e instanceof RegExp?e.source:e))).join("")}function ye(i){return new RegExp(Ao(i),"g")}function ut(i){return`(?:${i.map(Ao).join("|")})`}function _o(i){return`(?:${Ao(i)})?`}function bh(i){return i&&u2.test(i)?i.replace(wh,"\\$&"):i||""}var wh,u2,vh=C((()=>{l(),wh=/[\\^$.*+?()[\]{}|]/g,u2=RegExp(wh.source)}));function xh(i){let e=Array.from(function*(i){let e=i.tailwindConfig.separator,t=""!==i.tailwindConfig.prefix?_o(ye([/-?/,bh(i.tailwindConfig.prefix)])):"",r=ut([/\[[^\s:'"`]+:[^\s\[\]]+\]/,/\[[^\s:'"`\]]+:[^\s]+?\[[^\s]+\][^\s]+?\]/,ye([ut([/-?(?:\w+)/,/@(?:\w+)/]),_o(ut([ye([ut([/-(?:\w+-)*\['[^\s]+'\]/,/-(?:\w+-)*\["[^\s]+"\]/,/-(?:\w+-)*\[`[^\s]+`\]/,/-(?:\w+-)*\[(?:[^\s\[\]]+\[[^\s\[\]]+\])*[^\s:\[\]]+\]/]),/(?![{([]])/,/(?:\/[^\s'"`\\><$]*)?/]),ye([ut([/-(?:\w+-)*\['[^\s]+'\]/,/-(?:\w+-)*\["[^\s]+"\]/,/-(?:\w+-)*\[`[^\s]+`\]/,/-(?:\w+-)*\[(?:[^\s\[\]]+\[[^\s\[\]]+\])*[^\s\[\]]+\]/]),/(?![{([]])/,/(?:\/[^\s'"`\\$]*)?/]),/[-\/][^\s'"`\\$={><]*/]))])]),n=[ut([ye([/@\[[^\s"'`]+\](\/[^\s"'`]+)?/,e]),ye([/([^\s"'`\[\\]+-)?\[[^\s"'`]+\]\/\w+/,e]),ye([/([^\s"'`\[\\]+-)?\[[^\s"'`]+\]/,e]),ye([/[^\s"'`\[\\]+/,e])]),ut([ye([/([^\s"'`\[\\]+-)?\[[^\s`]+\]\/\w+/,e]),ye([/([^\s"'`\[\\]+-)?\[[^\s`]+\]/,e]),ye([/[^\s`\[\\]+/,e])])];for(let a of n)yield ye(["((?=((",a,")+))\\2)?",/!?/,t,r]);yield/[^<>"'`\s.(){}[\]#=%$]*[^<>"'`\s.(){}[\]#=%:$]/g}(i));return t=>{let r=[];for(let n of e)for(let a of t.match(n)??[])r.push(d2(a));return r}}function d2(i){if(!i.includes("-["))return i;let e=0,t=[],r=i.matchAll(c2);r=Array.from(r).flatMap((n=>{let[,...a]=n;return a.map(((s,o)=>Object.assign([],n,{index:n.index+o,0:s})))}));for(let n of r){let a=n[0],s=t[t.length-1];if(a===s?t.pop():("'"===a||'"'===a||"`"===a)&&t.push(a),!s){if("["===a){e++;continue}if("]"===a){e--;continue}if(e<0)return i.substring(0,n.index-1);if(0===e&&!p2.test(a))return i.substring(0,n.index)}}return i}var c2,p2,kh=C((()=>{l(),vh(),c2=/([\[\]'"`])([^\[\]'"`])?/g,p2=/[^"'`\s<>\]]+/}));function h2(i,e){let t=i.tailwindConfig.content.extract;return t[e]||t.DEFAULT||Ch[e]||Ch.DEFAULT(i)}function m2(i,e){let t=i.content.transform;return t[e]||t.DEFAULT||Ah[e]||Ah.DEFAULT}function g2(i,e,t,r){ti.has(e)||ti.set(e,new Sh.default({maxSize:25e3}));for(let n of i.split("\n"))if(n=n.trim(),!r.has(n))if(r.add(n),ti.get(e).has(n))for(let a of ti.get(e).get(n))t.add(a);else{let a=e(n).filter((o=>"!*"!==o)),s=new Set(a);for(let o of s)t.add(o);ti.get(e).set(n,s)}}function Oo(i){return async e=>{let t={base:null,components:null,utilities:null,variants:null};if(e.walkAtRules((w=>{"tailwind"===w.name&&Object.keys(t).includes(w.params)&&(t[w.params]=w)})),Object.values(t).every((w=>null===w)))return e;let r=new Set([...i.candidates??[],He]),n=new Set;Ye.DEBUG&&console.time("Reading changed files");{let w=[];for(let y of i.changedContent){let b=m2(i.tailwindConfig,y.extension),k=h2(i,y.extension);w.push([y,{transformer:b,extractor:k}])}let x=500;for(let y=0;y{g2(_(S=k?await re.promises.readFile(k,"utf8"):S),O,r,n)})))}}Ye.DEBUG&&console.timeEnd("Reading changed files");let a=i.classCache.size;Ye.DEBUG&&console.time("Generate rules"),Ye.DEBUG&&console.time("Sorting candidates");let s=new Set([...r].sort(((w,x)=>w===x?0:w{let x=w.raws.tailwind?.parentLayer;return"components"===x?null!==t.components:"utilities"!==x||null!==t.utilities}));t.variants?(t.variants.before(vt(p,t.variants.source,{layer:"variants"})),t.variants.remove()):p.length>0&&e.append(vt(p,e.source,{layer:"variants"})),e.source.end=e.source.end??e.source.start;let m=p.some((w=>"utilities"===w.raws.tailwind?.parentLayer));t.utilities&&0===f.size&&!m&&F.warn("content-problems",["No utility classes were detected in your source files. If this is unexpected, double-check the `content` option in your Tailwind CSS configuration.","https://tailwindcss.com/docs/content-configuration"]),Ye.DEBUG&&(console.log("Potential classes: ",r.size),console.log("Active contexts: ",gn.size)),i.changedContent=[],e.walkAtRules("layer",(w=>{Object.keys(t).includes(w.params)&&w.remove()}))}}var Sh,Ye,Ch,Ah,ti,_h=C((()=>{l(),je(),Sh=K(Qn()),ot(),Sn(),Oe(),yh(),kh(),Ye=Pe,Ch={DEFAULT:xh},Ah={DEFAULT:i=>i,svelte:i=>i.replace(/(?:^|\s)class:/g," ")},ti=new WeakMap}));function Pn(i){let e=new Map;V.root({nodes:[i.clone()]}).walkRules((a=>{(0,Tn.default)((s=>{s.walkClasses((o=>{let u=o.parent.toString(),c=e.get(u);c||e.set(u,c=new Set),c.add(o.value)}))})).processSync(a.selector)}));let r=Array.from(e.values(),(a=>Array.from(a))),n=r.flat();return Object.assign(n,{groups:r})}function Eo(i){return w2.astSync(i)}function Oh(i,e){let t=new Set;for(let r of i)t.add(r.split(e).pop());return Array.from(t)}function Eh(i,e){let t=i.tailwindConfig.prefix;return"function"==typeof t?t(e):t+e}function*Th(i){for(yield i;i.parent;)yield i.parent,i=i.parent}function b2(i,e={}){let t=i.nodes;i.nodes=[];let r=i.clone(e);return i.nodes=t,r}function x2(i,e){let t=new Map;return i.walkRules((r=>{for(let s of Th(r))if(void 0!==s.raws.tailwind?.layer)return;let n=function(i){for(let e of Th(i))if(i!==e){if("root"===e.type)break;i=b2(e,{nodes:[i]})}return i}(r),a=e.offsets.create("user");for(let s of Pn(r)){let o=t.get(s)||[];t.set(s,o),o.push([{layer:"user",sort:a,important:!1},n])}})),t}function k2(i,e){for(let t of i){if(e.notClassCache.has(t)||e.applyClassCache.has(t))continue;if(e.classCache.has(t)){e.applyClassCache.set(t,e.classCache.get(t).map((([n,a])=>[n,a.clone()])));continue}let r=Array.from(ao(t,e));0!==r.length?e.applyClassCache.set(t,r):e.notClassCache.add(t)}return e.applyClassCache}function Ph(i){let e=i.split(/[\s\t\n]+/g);return"!important"===e[e.length-1]?[e.slice(0,-1),!0]:[e,!1]}function Dh(i,e,t){let r=new Set,n=[];if(i.walkAtRules("apply",(u=>{let[c]=Ph(u.params);for(let f of c)r.add(f);n.push(u)})),0===n.length)return;let a=function(i){return{get:e=>i.flatMap((t=>t.get(e)||[])),has:e=>i.some((t=>t.has(e)))}}([t,k2(r,e)]);function s(u,c,f){let d=Eo(u),p=Eo(c),w=Eo(`.${de(f)}`).nodes[0].nodes[0];return d.each((x=>{let y=new Set;p.each((b=>{let k=!1;(b=b.clone()).walkClasses((S=>{S.value===w.value&&(k||(S.replaceWith(...x.nodes.map((_=>_.clone()))),y.add(b),k=!0))}))}));for(let b of y){let k=[[]];for(let S of b.nodes)"combinator"===S.type?(k.push(S),k.push([])):k[k.length-1].push(S);b.nodes=[];for(let S of k)Array.isArray(S)&&S.sort(((_,O)=>"tag"===_.type&&"class"===O.type?-1:"class"===_.type&&"tag"===O.type?1:"class"===_.type&&"pseudo"===O.type&&O.value.startsWith("::")?-1:"pseudo"===_.type&&_.value.startsWith("::")&&"class"===O.type?1:0)),b.nodes=b.nodes.concat(S)}x.replaceWith(...y)})),d.toString()}let o=new Map;for(let u of n){let[c]=o.get(u.parent)||[[],u.source];o.set(u.parent,[c,u.source]);let[f,d]=Ph(u.params);if("atrule"===u.parent.type){if("screen"===u.parent.name){let p=u.parent.params;throw u.error(`@apply is not supported within nested at-rules like @screen. We suggest you write this as @apply ${f.map((m=>`${p}:${m}`)).join(" ")} instead.`)}throw u.error(`@apply is not supported within nested at-rules like @${u.parent.name}. You can fix this by un-nesting @${u.parent.name}.`)}for(let p of f){if([Eh(e,"group"),Eh(e,"peer")].includes(p))throw u.error(`@apply should not be used with the '${p}' utility`);if(!a.has(p))throw u.error(`The \`${p}\` class does not exist. If \`${p}\` is a custom class, make sure it is defined within a \`@layer\` directive.`);let m=a.get(p);c.push([p,d,m])}}for(let[u,[c,f]]of o){let d=[];for(let[m,w,x]of c){let y=[m,...Oh([m],e.tailwindConfig.separator)];for(let[b,k]of x){let S=Pn(u),_=Pn(k);if(_=_.groups.filter((q=>q.some((X=>y.includes(X))))).flat(),_=_.concat(Oh(_,e.tailwindConfig.separator)),S.some((q=>_.includes(q))))throw k.error(`You cannot \`@apply\` the \`${m}\` utility here because it creates a circular dependency.`);let I=V.root({nodes:[k.clone()]});I.walk((q=>{q.source=f})),("atrule"!==k.type||"atrule"===k.type&&"keyframes"!==k.name)&&I.walkRules((q=>{if(!Pn(q).some((j=>j===m)))return void q.remove();let X="string"==typeof e.tailwindConfig.important?e.tailwindConfig.important:null,ce=void 0!==u.raws.tailwind&&X&&0===u.selector.indexOf(X)?u.selector.slice(X.length):u.selector;""===ce&&(ce=u.selector),q.selector=s(ce,q.selector,m),X&&ce!==u.selector&&(q.selector=bn(q.selector,X)),q.walkDecls((j=>{j.important=b.important||w}));let $e=(0,Tn.default)().astSync(q.selector);$e.each((j=>Lt(j))),q.selector=$e.toString()})),I.nodes[0]&&d.push([b.sort,I.nodes[0]])}}let p=e.offsets.sort(d).map((m=>m[1]));u.after(p)}for(let u of n)u.parent.nodes.length>1?u.remove():u.parent.remove();Dh(i,e,t)}function To(i){return e=>{let t=function(i){let e=null;return{get:t=>(e=e||i(),e.get(t)),has:t=>(e=e||i(),e.has(t))}}((()=>x2(e,i)));Dh(e,i,t)}}var Tn,w2,Ih=C((()=>{l(),nt(),Tn=K(Re()),Sn(),Ft(),io(),yn(),w2=(0,Tn.default)()})),qh=v(((P6,Dn)=>{l(),function(){"use strict";function i(r,n,a){if(!r)return null;i.caseSensitive||(r=r.toLowerCase());var u,s=null===i.threshold?null:i.threshold*r.length,o=i.thresholdAbsolute;u=null!==s&&null!==o?Math.min(s,o):null!==s?s:null!==o?o:null;var c,f,p,m,w=n.length;for(m=0;ma)return a+1;var c,f,d,p,m,u=[];for(c=0;c<=o;c++)u[c]=[c];for(f=0;f<=s;f++)u[0][f]=f;for(c=1;c<=o;c++){for(d=e,p=1,c>a&&(p=c-a),(m=o+1)>a+c&&(m=a+c),f=1;f<=s;f++)fm?u[c][f]=a+1:n.charAt(c-1)===r.charAt(f-1)?u[c][f]=u[c-1][f-1]:u[c][f]=Math.min(u[c-1][f-1]+1,Math.min(u[c][f-1]+1,u[c-1][f]+1)),u[c][f]a)return a+1}return u[o][s]}}()})),Mh=v(((D6,Rh)=>{l();var Po="(".charCodeAt(0),Do=")".charCodeAt(0),In="'".charCodeAt(0),Io='"'.charCodeAt(0),qo="\\".charCodeAt(0),zt="/".charCodeAt(0),Ro=",".charCodeAt(0),Mo=":".charCodeAt(0),qn="*".charCodeAt(0),A2="u".charCodeAt(0),_2="U".charCodeAt(0),O2="+".charCodeAt(0),E2=/^[a-f0-9?-]+$/i;Rh.exports=function(i){for(var r,n,a,s,o,u,c,f,y,e=[],t=i,d=0,p=t.charCodeAt(d),m=t.length,w=[{nodes:e}],x=0,b="",k="",S="";d{l(),Bh.exports=function i(e,t,r){var n,a,s,o;for(n=0,a=e.length;n{function Nh(i,e){var n,a,t=i.type,r=i.value;return e&&void 0!==(a=e(i))?a:"word"===t||"space"===t?r:"string"===t?(n=i.quote||"")+r+(i.unclosed?"":n):"comment"===t?"/*"+r+(i.unclosed?"":"*/"):"div"===t?(i.before||"")+r+(i.after||""):Array.isArray(i.nodes)?(n=Lh(i.nodes,e),"function"!==t?n:r+"("+(i.before||"")+n+(i.after||"")+(i.unclosed?"":")")):r}function Lh(i,e){var t,r;if(Array.isArray(i)){for(t="",r=i.length-1;~r;r-=1)t=Nh(i[r],e)+t;return t}return Nh(i,e)}l(),$h.exports=Lh})),Vh=v(((R6,zh)=>{l();var Rn="-".charCodeAt(0),Mn="+".charCodeAt(0),Bo=".".charCodeAt(0),T2="e".charCodeAt(0),P2="E".charCodeAt(0);zh.exports=function(i){var r,n,a,e=0,t=i.length;if(0===t||!function(i){var t,e=i.charCodeAt(0);if(e===Mn||e===Rn){if((t=i.charCodeAt(1))>=48&&t<=57)return!0;var r=i.charCodeAt(2);return t===Bo&&r>=48&&r<=57}return e===Bo?(t=i.charCodeAt(1))>=48&&t<=57:e>=48&&e<=57}(i))return!1;for(((r=i.charCodeAt(e))===Mn||r===Rn)&&e++;e57);)e+=1;if(r=i.charCodeAt(e),n=i.charCodeAt(e+1),r===Bo&&n>=48&&n<=57)for(e+=2;e57);)e+=1;if(r=i.charCodeAt(e),n=i.charCodeAt(e+1),a=i.charCodeAt(e+2),(r===T2||r===P2)&&(n>=48&&n<=57||(n===Mn||n===Rn)&&a>=48&&a<=57))for(e+=n===Mn||n===Rn?3:2;e57);)e+=1;return{number:i.slice(0,e),unit:i.slice(e)}}})),Hh=v(((M6,Gh)=>{l();var I2=Mh(),Uh=Fh(),Wh=jh();function ft(i){return this instanceof ft?(this.nodes=I2(i),this):new ft(i)}ft.prototype.toString=function(){return Array.isArray(this.nodes)?Wh(this.nodes):""},ft.prototype.walk=function(i,e){return Uh(this.nodes,i,e),this},ft.unit=Vh(),ft.walk=Uh,ft.stringify=Wh,Gh.exports=ft}));function No(i){return"object"==typeof i&&null!==i}function Vt(i){return"string"==typeof i?i:i.reduce(((e,t,r)=>t.includes(".")?`${e}[${t}]`:0===r?t:`${e}.${t}`),"")}function Qh(i){return i.map((e=>`'${e}'`)).join(", ")}function Jh(i){return Qh(Object.keys(i))}function Lo(i,e,t,r={}){let n=Array.isArray(e)?Vt(e):e.replace(/^['"]+|['"]+$/g,""),a=Array.isArray(e)?e:Ke(n),s=(0,ri.default)(i.theme,a,t);if(void 0===s){let u=`'${n}' does not exist in your theme config.`,c=a.slice(0,-1),f=(0,ri.default)(i.theme,c);if(No(f)){let d=Object.keys(f).filter((m=>Lo(i,[...c,m]).isValid)),p=(0,Yh.default)(a[a.length-1],d);p?u+=` Did you mean '${Vt([...c,p])}'?`:d.length>0&&(u+=` '${Vt(c)}' has the following valid keys: ${Qh(d)}`)}else{let d=function(i,e){let t=Ke(e);do{if(t.pop(),void 0!==(0,ri.default)(i,t))break}while(t.length);return t.length?t:void 0}(i.theme,n);if(d){let p=(0,ri.default)(i.theme,d);No(p)?u+=` '${Vt(d)}' has the following keys: ${Jh(p)}`:u+=` '${Vt(d)}' is not an object.`}else u+=` Your theme has the following top-level keys: ${Jh(i.theme)}`}return{isValid:!1,error:u}}if(!("string"==typeof s||"number"==typeof s||"function"==typeof s||s instanceof String||s instanceof Number||Array.isArray(s))){let u=`'${n}' was found but does not resolve to a string.`;if(No(s)){let c=Object.keys(s).filter((f=>Lo(i,[...a,f]).isValid));c.length&&(u+=` Did you mean something like '${Vt([...a,c[0]])}'?`)}return{isValid:!1,error:u}}let[o]=a;return{isValid:!0,value:Ge(o)(s,r)}}function Xh(i,e,t){if("function"===e.type&&void 0!==t[e.value]){let r=function(i,e,t){e=e.map((n=>Xh(i,n,t)));let r=[""];for(let n of e)"div"===n.type&&","===n.value?r.push(""):r[r.length-1]+=Fo.default.stringify(n);return r}(i,e.nodes,t);e.type="word",e.value=t[e.value](i,...r)}return e}function Kh(i){let e=i.tailwindConfig,t={theme:(r,n,...a)=>{let{isValid:s,value:o,error:u,alpha:c}=function(i,e,t){let r=Array.from(function*(i){let t,e=(i=i.replace(/^['"]+|['"]+$/g,"")).match(/^([^\s]+)(?![^\[]*\])(?:\s*\/\s*([^\/\s]+))$/);yield[i,void 0],e&&(i=e[1],t=e[2],yield[i,t])}(e)).map((([n,a])=>Object.assign(Lo(i,n,t,{opacityValue:a}),{resolvedPath:n,alpha:a})));return r.find((n=>n.isValid))??r[0]}(e,n,a.length?a:void 0);if(!s){let p=r.parent,m=p?.raws.tailwind?.candidate;if(p&&void 0!==m)return i.markInvalidUtilityNode(p),p.remove(),void F.warn("invalid-theme-key-in-class",[`The utility \`${m}\` contains an invalid theme value and was not generated.`]);throw r.error(u)}let f=Ct(o);return(void 0!==c||void 0!==f&&"function"==typeof f)&&(void 0===c&&(c=1),o=De(f,c,f)),o},screen:(r,n)=>{n=n.replace(/^['"]+/g,"").replace(/['"]+$/g,"");let s=at(e.theme.screens).find((({name:o})=>o===n));if(!s)throw r.error(`The '${n}' screen does not exist in your theme.`);return st(s)}};return r=>{r.walk((n=>{let a=B2[n.type];void 0!==a&&(n[a]=function(i,e,t){return Object.keys(t).some((n=>e.includes(`${n}(`)))?(0,Fo.default)(e).walk((n=>{Xh(i,n,t)})).toString():e}(n,n[a],t))}))}}var ri,Yh,Fo,B2,Zh=C((()=>{l(),ri=K(Ls()),Yh=K(qh()),Hr(),Fo=K(Hh()),hn(),cn(),pi(),or(),cr(),Oe(),B2={atrule:"params",decl:"value"}}));var tm=C((()=>{l(),hn(),cn()}));function j2(i){return $o.has(i)||$o.set(i,$2.transformSync(i)),$o.get(i)}var Bn,rm,$2,$o,im=C((()=>{l(),nt(),Bn=K(Re()),ze(),rm={id:i=>Bn.default.attribute({attribute:"id",operator:"=",value:i.value,quoteMark:'"'})},$2=(0,Bn.default)((i=>i.map((e=>function(i){let e=i.filter((o=>"pseudo"!==o.type||o.nodes.length>0||o.value.startsWith("::")||[":before",":after",":first-line",":first-letter"].includes(o.value))).reverse(),t=new Set(["tag","class","id","attribute"]),r=e.findIndex((o=>t.has(o.type)));if(-1===r)return e.reverse().join("").trim();let n=e[r],a=rm[n.type]?rm[n.type](n):n;e=e.slice(0,r);let s=e.findIndex((o=>"combinator"===o.type&&">"===o.value));return-1!==s&&(e.splice(0,s),e.unshift(Bn.default.universal())),[a,...e.reverse()].join("").trim()}(e.split((r=>"combinator"===r.type&&" "===r.value)).pop()))))),$o=new Map}));function zo(){function i(e){let t=null;e.each((r=>{if(!z2.has(r.type))return void(t=null);if(null===t)return void(t=r);let n=nm[r.type];"atrule"===r.type&&"font-face"===r.name?t=r:n.every((a=>(r[a]??"").replace(/\s+/g," ")===(t[a]??"").replace(/\s+/g," ")))?(r.nodes&&t.append(r.nodes),r.remove()):t=r})),e.each((r=>{"atrule"===r.type&&i(r)}))}return e=>{i(e)}}var nm,z2,sm=C((()=>{l(),nm={atrule:["name","params"],rule:["selector"]},z2=new Set(Object.keys(nm))}));function U2(i){let e=/^-?\d*.?\d+([\w%]+)?$/g.exec(i);return e?e[1]??V2:null}var V2,am=C((()=>{l(),V2=Symbol("unitless-number")}));function Fn(){return i=>{!function(i){if(!i.walkAtRules)return;let e=new Set;if(i.walkAtRules("apply",(t=>{e.add(t.parent)})),0!==e.size)for(let t of e){let r=[],n=[];for(let a of t.nodes)"atrule"===a.type&&"apply"===a.name?(n.length>0&&(r.push(n),n=[]),r.push([a])):n.push(a);if(n.length>0&&r.push(n),1!==r.length){for(let a of[...r].reverse()){let s=t.clone({nodes:[]});s.append(a),t.after(s)}t.remove()}}}(i)}}var om=C((()=>{l()}));var um=C((()=>{l()}));function Nn(i){return async function(e,t){let{tailwindDirectives:r,applyDirectives:n}=function(i){let e=new Set,t=new Set,r=new Set;if(i.walkAtRules((n=>{"apply"===n.name&&r.add(n),"import"===n.name&&('"tailwindcss/base"'===n.params||"'tailwindcss/base'"===n.params?(n.name="tailwind",n.params="base"):'"tailwindcss/components"'===n.params||"'tailwindcss/components'"===n.params?(n.name="tailwind",n.params="components"):'"tailwindcss/utilities"'===n.params||"'tailwindcss/utilities'"===n.params?(n.name="tailwind",n.params="utilities"):('"tailwindcss/screens"'===n.params||"'tailwindcss/screens'"===n.params||'"tailwindcss/variants"'===n.params||"'tailwindcss/variants'"===n.params)&&(n.name="tailwind",n.params="variants")),"tailwind"===n.name&&("screens"===n.params&&(n.params="variants"),e.add(n.params)),["layer","responsive","variants"].includes(n.name)&&(["responsive","variants"].includes(n.name)&&F.warn(`${n.name}-at-rule-deprecated`,[`The \`@${n.name}\` directive has been deprecated in Tailwind CSS v3.0.`,"Use `@layer utilities` or `@layer components` instead.","https://tailwindcss.com/docs/upgrade-guide#replace-variants-with-layer"]),t.add(n))})),!e.has("base")||!e.has("components")||!e.has("utilities"))for(let n of t)if("layer"===n.name&&["base","components","utilities"].includes(n.params)){if(!e.has(n.params))throw n.error(`\`@layer ${n.params}\` is used but no matching \`@tailwind ${n.params}\` directive is present.`)}else if("responsive"===n.name){if(!e.has("utilities"))throw n.error("`@responsive` is used but `@tailwind utilities` is missing.")}else if("variants"===n.name&&!e.has("utilities"))throw n.error("`@variants` is used but `@tailwind utilities` is missing.");return{tailwindDirectives:e,applyDirectives:r}}(e);((e,t)=>{let r=!1;e.walkAtRules("tailwind",(n=>!r&&(!n.parent||function(i){return"root"===i.type}(n.parent)||function(i){return"atrule"===i.type&&"layer"===i.name}(n.parent)?void 0:(r=!0,n.warn(t,["Nested @tailwind rules were detected, but are not supported.","Consider using a prefix to scope Tailwind's classes: https://tailwindcss.com/docs/configuration#prefix","Alternatively, use the important selector strategy: https://tailwindcss.com/docs/configuration#selector-strategy"].join("\n")),!1)))),e.walkRules((n=>{if(r)return!1;n.walkRules((a=>(r=!0,a.warn(t,["Nested CSS was detected, but CSS nesting has not been configured correctly.","Please enable a CSS nesting plugin *before* Tailwind in your configuration.","See how here: https://tailwindcss.com/docs/using-with-preprocessors#nesting"].join("\n")),!1)))}))})(e,t),Fn()(e,t);let a=i({tailwindDirectives:r,applyDirectives:n,registerDependency(s){t.messages.push({plugin:"tailwindcss",parent:t.opts.from,...s})},createContext:(s,o)=>mo(s,o,e)})(e,t);if("-"===a.tailwindConfig.separator)throw new Error("The '-' character cannot be used as a custom separator in JIT mode due to parsing ambiguity. Please use another character like '_' instead.");(function(i){if(void 0===h.env.JEST_WORKER_ID&&Au(i).length>0){let e=Au(i).map((t=>_e.yellow(t))).join(", ");F.warn("experimental-flags-enabled",[`You have enabled experimental features: ${e}`,"Experimental features in Tailwind CSS are not covered by semver, may introduce breaking changes, and can change at any time."])}})(a.tailwindConfig),await Oo(a)(e,t),Fn()(e,t),To(a)(e,t),Kh(a)(e,t),function({tailwindConfig:{theme:i}}){return function(e){e.walkAtRules("screen",(t=>{let r=t.params,a=at(i.screens).find((({name:s})=>s===r));if(!a)throw t.error(`No \`${r}\` screen found.`);t.name="media",t.params=st(a)}))}}(a)(e,t),function({tailwindConfig:i}){return e=>{let t=new Map,r=new Set;if(e.walkAtRules("defaults",(n=>{if(n.nodes&&n.nodes.length>0)return void r.add(n);let a=n.params;t.has(a)||t.set(a,new Set),t.get(a).add(n.parent),n.remove()})),Z(i,"optimizeUniversalDefaults"))for(let n of r){let a=new Map,s=t.get(n.params)??[];for(let o of s)for(let u of j2(o.selector)){let c=u.includes(":-")||u.includes("::-")?u:"__DEFAULT__",f=a.get(c)??new Set;a.set(c,f),f.add(u)}if(Z(i,"optimizeUniversalDefaults")){if(0===a.size){n.remove();continue}for(let[,o]of a){let u=V.rule({source:n.source});u.selectors=[...o],u.append(n.nodes.map((c=>c.clone()))),n.before(u)}}n.remove()}else if(r.size){let n=V.rule({selectors:["*","::before","::after"]});for(let s of r)n.append(s.nodes),n.parent||s.before(n),n.source||(n.source=s.source),s.remove();let a=n.clone({selectors:["::backdrop"]});n.after(a)}}}(a)(e,t),zo()(e,t),(i=>{i.walkRules((e=>{let t=new Map,r=new Set([]),n=new Map;e.walkDecls((a=>{if(a.parent===e){if(t.has(a.prop)){if(t.get(a.prop).value===a.value)return r.add(t.get(a.prop)),void t.set(a.prop,a);n.has(a.prop)||n.set(a.prop,new Set),n.get(a.prop).add(t.get(a.prop)),n.get(a.prop).add(a)}t.set(a.prop,a)}}));for(let a of r)a.remove();for(let a of n.values()){let s=new Map;for(let o of a){let u=U2(o.value);null!==u&&(s.has(u)||s.set(u,new Set),s.get(u).add(o))}for(let o of s.values()){let u=Array.from(o).slice(0,-1);for(let c of u)c.remove()}}}))})(e)}}var fm=C((()=>{l(),mh(),_h(),Ih(),Zh(),tm(),im(),sm(),am(),om(),um(),Xr(),ze()}));var pm=C((()=>{l(),je(),gt()})),dm=v(((vI,Uo)=>{l(),hh(),fm(),ot(),pm(),Uo.exports=function(e){return{postcssPlugin:"tailwindcss",plugins:[Pe.DEBUG&&function(t){return console.log("\n"),console.time("JIT TOTAL"),t},async function(t,r){e=function(i,e){let t=null,r=null;return i.walkAtRules("config",(n=>{if(r=n.source?.input.file??e.opts.from??null,null===r)throw n.error("The `@config` directive cannot be used without setting `from` in your PostCSS config.");if(t)throw n.error("Only one `@config` directive is allowed per file.");let a=n.params.match(/(['"])(.*?)\1/);if(!a)throw n.error("A path is required when using the `@config` directive.");let s=a[2];if(ee.isAbsolute(s))throw n.error("The `@config` directive cannot be used with an absolute path.");if(t=ee.resolve(ee.dirname(r),s),!re.existsSync(t))throw n.error(`The config file at "${s}" does not exist. Make sure the path is correct and the file exists.`);n.remove()})),t||null}(t,r)??e;let n=So(e);if("document"!==t.type)await Nn(n)(t,r);else{let a=t.nodes.filter((s=>"root"===s.type));for(let s of a)"root"===s.type&&await Nn(n)(s,r)}},!1,Pe.DEBUG&&function(t){return console.timeEnd("JIT TOTAL"),console.log("\n"),t}].filter(Boolean)}},Uo.exports.postcss=!0})),mm=v(((xI,hm)=>{l(),hm.exports=dm()})),Wo=v(((kI,gm)=>{l(),gm.exports=()=>["and_chr 114","and_uc 15.5","chrome 114","chrome 113","chrome 109","edge 114","firefox 114","ios_saf 16.5","ios_saf 16.4","ios_saf 16.3","ios_saf 16.1","opera 99","safari 16.5","samsung 21"]})),Ln={};function Q2(){return{status:"cr",title:"CSS Feature Queries",stats:{ie:{6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",5.5:"n"},edge:{12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",79:"y",80:"y",81:"y",83:"y",84:"y",85:"y",86:"y",87:"y",88:"y",89:"y",90:"y",91:"y",92:"y",93:"y",94:"y",95:"y",96:"y",97:"y",98:"y",99:"y",100:"y",101:"y",102:"y",103:"y",104:"y",105:"y",106:"y",107:"y",108:"y",109:"y",110:"y",111:"y",112:"y",113:"y",114:"y"},firefox:{2:"n",3:"n",4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y",44:"y",45:"y",46:"y",47:"y",48:"y",49:"y",50:"y",51:"y",52:"y",53:"y",54:"y",55:"y",56:"y",57:"y",58:"y",59:"y",60:"y",61:"y",62:"y",63:"y",64:"y",65:"y",66:"y",67:"y",68:"y",69:"y",70:"y",71:"y",72:"y",73:"y",74:"y",75:"y",76:"y",77:"y",78:"y",79:"y",80:"y",81:"y",82:"y",83:"y",84:"y",85:"y",86:"y",87:"y",88:"y",89:"y",90:"y",91:"y",92:"y",93:"y",94:"y",95:"y",96:"y",97:"y",98:"y",99:"y",100:"y",101:"y",102:"y",103:"y",104:"y",105:"y",106:"y",107:"y",108:"y",109:"y",110:"y",111:"y",112:"y",113:"y",114:"y",115:"y",116:"y",117:"y",3.5:"n",3.6:"n"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n",27:"n",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y",44:"y",45:"y",46:"y",47:"y",48:"y",49:"y",50:"y",51:"y",52:"y",53:"y",54:"y",55:"y",56:"y",57:"y",58:"y",59:"y",60:"y",61:"y",62:"y",63:"y",64:"y",65:"y",66:"y",67:"y",68:"y",69:"y",70:"y",71:"y",72:"y",73:"y",74:"y",75:"y",76:"y",77:"y",78:"y",79:"y",80:"y",81:"y",83:"y",84:"y",85:"y",86:"y",87:"y",88:"y",89:"y",90:"y",91:"y",92:"y",93:"y",94:"y",95:"y",96:"y",97:"y",98:"y",99:"y",100:"y",101:"y",102:"y",103:"y",104:"y",105:"y",106:"y",107:"y",108:"y",109:"y",110:"y",111:"y",112:"y",113:"y",114:"y",115:"y",116:"y",117:"y"},safari:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",17:"y",9.1:"y",10.1:"y",11.1:"y",12.1:"y",13.1:"y",14.1:"y",15.1:"y","15.2-15.3":"y",15.4:"y",15.5:"y",15.6:"y","16.0":"y",16.1:"y",16.2:"y",16.3:"y",16.4:"y",16.5:"y",16.6:"y",TP:"y",3.1:"n",3.2:"n",5.1:"n",6.1:"n",7.1:"n"},opera:{9:"n",11:"n",12:"n",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y",44:"y",45:"y",46:"y",47:"y",48:"y",49:"y",50:"y",51:"y",52:"y",53:"y",54:"y",55:"y",56:"y",57:"y",58:"y",60:"y",62:"y",63:"y",64:"y",65:"y",66:"y",67:"y",68:"y",69:"y",70:"y",71:"y",72:"y",73:"y",74:"y",75:"y",76:"y",77:"y",78:"y",79:"y",80:"y",81:"y",82:"y",83:"y",84:"y",85:"y",86:"y",87:"y",88:"y",89:"y",90:"y",91:"y",92:"y",93:"y",94:"y",95:"y",96:"y",97:"y",98:"y",99:"y",100:"y",12.1:"y","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11.1:"n",11.5:"n",11.6:"n"},ios_saf:{8:"n",17:"y","9.0-9.2":"y",9.3:"y","10.0-10.2":"y",10.3:"y","11.0-11.2":"y","11.3-11.4":"y","12.0-12.1":"y","12.2-12.5":"y","13.0-13.1":"y",13.2:"y",13.3:"y","13.4-13.7":"y","14.0-14.4":"y","14.5-14.8":"y","15.0-15.1":"y","15.2-15.3":"y",15.4:"y",15.5:"y",15.6:"y","16.0":"y",16.1:"y",16.2:"y",16.3:"y",16.4:"y",16.5:"y",16.6:"y",3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8.1-8.4":"n"},op_mini:{all:"y"},android:{3:"n",4:"n",114:"y",4.4:"y","4.4.3-4.4.4":"y",2.1:"n",2.2:"n",2.3:"n",4.1:"n","4.2-4.3":"n"},bb:{7:"n",10:"n"},op_mob:{10:"n",11:"n",12:"n",73:"y",11.1:"n",11.5:"n",12.1:"n"},and_chr:{114:"y"},and_ff:{115:"y"},ie_mob:{10:"n",11:"n"},and_uc:{15.5:"y"},samsung:{4:"y",20:"y",21:"y","5.0-5.4":"y","6.2-6.4":"y","7.2-7.4":"y",8.2:"y",9.2:"y",10.1:"y","11.1-11.2":"y","12.0":"y","13.0":"y","14.0":"y","15.0":"y","16.0":"y","17.0":"y","18.0":"y","19.0":"y"},and_qq:{13.1:"y"},baidu:{13.18:"y"},kaios:{2.5:"y","3.0-3.1":"y"}}}}Ae(Ln,{agents:()=>Y2,feature:()=>Q2});var Y2,$n=C((()=>{l(),Y2={ie:{prefix:"ms"},edge:{prefix:"webkit",prefix_exceptions:{12:"ms",13:"ms",14:"ms",15:"ms",16:"ms",17:"ms",18:"ms"}},firefox:{prefix:"moz"},chrome:{prefix:"webkit"},safari:{prefix:"webkit"},opera:{prefix:"webkit",prefix_exceptions:{9:"o",11:"o",12:"o","9.5-9.6":"o","10.0-10.1":"o",10.5:"o",10.6:"o",11.1:"o",11.5:"o",11.6:"o",12.1:"o"}},ios_saf:{prefix:"webkit"},op_mini:{prefix:"o"},android:{prefix:"webkit"},bb:{prefix:"webkit"},op_mob:{prefix:"o",prefix_exceptions:{73:"webkit"}},and_chr:{prefix:"webkit"},and_ff:{prefix:"moz"},ie_mob:{prefix:"ms"},and_uc:{prefix:"webkit",prefix_exceptions:{15.5:"webkit"}},samsung:{prefix:"webkit"},and_qq:{prefix:"webkit"},baidu:{prefix:"webkit"},kaios:{prefix:"moz"}}})),ym=v((()=>{l()})),fe=v(((AI,ct)=>{l();var{list:Go}=ge();ct.exports.error=function(i){let e=new Error(i);throw e.autoprefixer=!0,e},ct.exports.uniq=function(i){return[...new Set(i)]},ct.exports.removeNote=function(i){return i.includes(" ")?i.split(" ")[0]:i},ct.exports.escapeRegexp=function(i){return i.replace(/[$()*+-.?[\\\]^{|}]/g,"\\$&")},ct.exports.regexp=function(i,e=!0){return e&&(i=this.escapeRegexp(i)),new RegExp(`(^|[\\s,(])(${i}($|[\\s(,]))`,"gi")},ct.exports.editList=function(i,e){let t=Go.comma(i),r=e(t,[]);if(t===r)return i;let n=i.match(/,\s*/);return n=n?n[0]:", ",r.join(n)},ct.exports.splitSelector=function(i){return Go.comma(i).map((e=>Go.space(e).map((t=>t.split(/(?=\.|#)/g)))))}})),pt=v(((_I,vm)=>{l();var J2=Wo(),wm=($n(),Ln).agents,X2=fe();vm.exports=class{static prefixes(){if(this.prefixesCache)return this.prefixesCache;this.prefixesCache=[];for(let e in wm)this.prefixesCache.push(`-${wm[e].prefix}-`);return this.prefixesCache=X2.uniq(this.prefixesCache).sort(((e,t)=>t.length-e.length)),this.prefixesCache}static withPrefix(e){return this.prefixesRegexp||(this.prefixesRegexp=new RegExp(this.prefixes().join("|"))),this.prefixesRegexp.test(e)}constructor(e,t,r,n){this.data=e,this.options=r||{},this.browserslistOpts=n||{},this.selected=this.parse(t)}parse(e){let t={};for(let r in this.browserslistOpts)t[r]=this.browserslistOpts[r];return t.path=this.options.from,J2(e,t)}prefix(e){let[t,r]=e.split(" "),n=this.data[t],a=n.prefix_exceptions&&n.prefix_exceptions[r];return a||(a=n.prefix),`-${a}-`}isSelected(e){return this.selected.includes(e)}}})),ii=v(((OI,xm)=>{l(),xm.exports={prefix(i){let e=i.match(/^(-\w+-)/);return e?e[0]:""},unprefixed:i=>i.replace(/^-\w+-/,"")}})),Ut=v(((EI,Sm)=>{l();var K2=pt(),km=ii(),Z2=fe();function Ho(i,e){let t=new i.constructor;for(let r of Object.keys(i||{})){let n=i[r];"parent"===r&&"object"==typeof n?e&&(t[r]=e):"source"===r||null===r?t[r]=n:Array.isArray(n)?t[r]=n.map((a=>Ho(a,t))):"_autoprefixerPrefix"!==r&&"_autoprefixerValues"!==r&&"proxyCache"!==r&&("object"==typeof n&&null!==n&&(n=Ho(n,t)),t[r]=n)}return t}var jn=class{static hack(e){return this.hacks||(this.hacks={}),e.names.map((t=>(this.hacks[t]=e,this.hacks[t])))}static load(e,t,r){let n=this.hacks&&this.hacks[e];return n?new n(e,t,r):new this(e,t,r)}static clone(e,t){let r=Ho(e);for(let n in t)r[n]=t[n];return r}constructor(e,t,r){this.prefixes=t,this.name=e,this.all=r}parentPrefix(e){let t;return t=void 0!==e._autoprefixerPrefix?e._autoprefixerPrefix:"decl"===e.type&&"-"===e.prop[0]?km.prefix(e.prop):"root"!==e.type&&("rule"===e.type&&e.selector.includes(":-")&&/:(-\w+-)/.test(e.selector)?e.selector.match(/:(-\w+-)/)[1]:"atrule"===e.type&&"-"===e.name[0]?km.prefix(e.name):this.parentPrefix(e.parent)),K2.prefixes().includes(t)||(t=!1),e._autoprefixerPrefix=t,e._autoprefixerPrefix}process(e,t){if(!this.check(e))return;let r=this.parentPrefix(e),n=this.prefixes.filter((s=>!r||r===Z2.removeNote(s))),a=[];for(let s of n)this.add(e,s,a.concat([s]),t)&&a.push(s);return a}clone(e,t){return jn.clone(e,t)}};Sm.exports=jn})),R=v(((TI,_m)=>{l();var eA=Ut(),tA=pt(),Cm=fe();_m.exports=class extends eA{check(){return!0}prefixed(e,t){return t+e}normalize(e){return e}otherPrefixes(e,t){for(let r of tA.prefixes())if(r!==t&&e.includes(r))return!0;return!1}set(e,t){return e.prop=this.prefixed(e.prop,t),e}needCascade(e){return e._autoprefixerCascade||(e._autoprefixerCascade=!1!==this.all.options.cascade&&e.raw("before").includes("\n")),e._autoprefixerCascade}maxPrefixed(e,t){if(t._autoprefixerMax)return t._autoprefixerMax;let r=0;for(let n of e)n=Cm.removeNote(n),n.length>r&&(r=n.length);return t._autoprefixerMax=r,t._autoprefixerMax}calcBefore(e,t,r=""){let a=this.maxPrefixed(e,t)-Cm.removeNote(r).length,s=t.raw("before");return a>0&&(s+=Array(a).fill(" ").join("")),s}restoreBefore(e){let t=e.raw("before").split("\n"),r=t[t.length-1];this.all.group(e).up((n=>{let a=n.raw("before").split("\n"),s=a[a.length-1];s.lengths.prop===n.prop&&s.value===n.value)))return this.needCascade(e)&&(n.raws.before=this.calcBefore(r,e,t)),e.parent.insertBefore(e,n)}isAlready(e,t){let r=this.all.group(e).up((n=>n.prop===t));return r||(r=this.all.group(e).down((n=>n.prop===t))),r}add(e,t,r,n){let a=this.prefixed(e.prop,t);if(!this.isAlready(e,a)&&!this.otherPrefixes(e.value,t))return this.insert(e,t,r,n)}process(e,t){if(!this.needCascade(e))return void super.process(e,t);let r=super.process(e,t);!r||!r.length||(this.restoreBefore(e),e.raws.before=this.calcBefore(r,e))}old(e,t){return[this.prefixed(e,t)]}}})),Em=v(((PI,Om)=>{l(),Om.exports=function i(e){return{mul:t=>new i(e*t),div:t=>new i(e/t),simplify:()=>new i(e),toString:()=>e.toString()}}})),Dm=v(((DI,Pm)=>{l();var rA=Em(),iA=Ut(),Yo=fe(),nA=/(min|max)-resolution\s*:\s*\d*\.?\d+(dppx|dpcm|dpi|x)/gi,sA=/(min|max)-resolution(\s*:\s*)(\d*\.?\d+)(dppx|dpcm|dpi|x)/i;Pm.exports=class extends iA{prefixName(e,t){return"-moz-"===e?t+"--moz-device-pixel-ratio":e+t+"-device-pixel-ratio"}prefixQuery(e,t,r,n,a){return n=new rA(n),"dpi"===a?n=n.div(96):"dpcm"===a&&(n=n.mul(2.54).div(96)),n=n.simplify(),"-o-"===e&&(n=n.n+"/"+n.d),this.prefixName(e,t)+r+n}clean(e){if(!this.bad){this.bad=[];for(let t of this.prefixes)this.bad.push(this.prefixName(t,"min")),this.bad.push(this.prefixName(t,"max"))}e.params=Yo.editList(e.params,(t=>t.filter((r=>this.bad.every((n=>!r.includes(n)))))))}process(e){let t=this.parentPrefix(e),r=t?[t]:this.prefixes;e.params=Yo.editList(e.params,((n,a)=>{for(let s of n)if(s.includes("min-resolution")||s.includes("max-resolution")){for(let o of r){let u=s.replace(nA,(c=>{let f=c.match(sA);return this.prefixQuery(o,f[1],f[2],f[3],f[4])}));a.push(u)}a.push(s)}else a.push(s);return Yo.uniq(a)}))}}})),qm=v(((II,Im)=>{l();var Qo="(".charCodeAt(0),Jo=")".charCodeAt(0),zn="'".charCodeAt(0),Xo='"'.charCodeAt(0),Ko="\\".charCodeAt(0),Wt="/".charCodeAt(0),Zo=",".charCodeAt(0),el=":".charCodeAt(0),Vn="*".charCodeAt(0),aA="u".charCodeAt(0),oA="U".charCodeAt(0),lA="+".charCodeAt(0),uA=/^[a-f0-9?-]+$/i;Im.exports=function(i){for(var r,n,a,s,o,u,c,f,y,e=[],t=i,d=0,p=t.charCodeAt(d),m=t.length,w=[{nodes:e}],x=0,b="",k="",S="";d{l(),Rm.exports=function i(e,t,r){var n,a,s,o;for(n=0,a=e.length;n{function Bm(i,e){var n,a,t=i.type,r=i.value;return e&&void 0!==(a=e(i))?a:"word"===t||"space"===t?r:"string"===t?(n=i.quote||"")+r+(i.unclosed?"":n):"comment"===t?"/*"+r+(i.unclosed?"":"*/"):"div"===t?(i.before||"")+r+(i.after||""):Array.isArray(i.nodes)?(n=Fm(i.nodes,e),"function"!==t?n:r+"("+(i.before||"")+n+(i.after||"")+(i.unclosed?"":")")):r}function Fm(i,e){var t,r;if(Array.isArray(i)){for(t="",r=i.length-1;~r;r-=1)t=Bm(i[r],e)+t;return t}return Bm(i,e)}l(),Nm.exports=Fm})),jm=v(((MI,$m)=>{l();var Un="-".charCodeAt(0),Wn="+".charCodeAt(0),tl=".".charCodeAt(0),fA="e".charCodeAt(0),cA="E".charCodeAt(0);$m.exports=function(i){var r,n,a,e=0,t=i.length;if(0===t||!function(i){var t,e=i.charCodeAt(0);if(e===Wn||e===Un){if((t=i.charCodeAt(1))>=48&&t<=57)return!0;var r=i.charCodeAt(2);return t===tl&&r>=48&&r<=57}return e===tl?(t=i.charCodeAt(1))>=48&&t<=57:e>=48&&e<=57}(i))return!1;for(((r=i.charCodeAt(e))===Wn||r===Un)&&e++;e57);)e+=1;if(r=i.charCodeAt(e),n=i.charCodeAt(e+1),r===tl&&n>=48&&n<=57)for(e+=2;e57);)e+=1;if(r=i.charCodeAt(e),n=i.charCodeAt(e+1),a=i.charCodeAt(e+2),(r===fA||r===cA)&&(n>=48&&n<=57||(n===Wn||n===Un)&&a>=48&&a<=57))for(e+=n===Wn||n===Un?3:2;e57);)e+=1;return{number:i.slice(0,e),unit:i.slice(e)}}})),Gn=v(((BI,Um)=>{l();var dA=qm(),zm=Mm(),Vm=Lm();function dt(i){return this instanceof dt?(this.nodes=dA(i),this):new dt(i)}dt.prototype.toString=function(){return Array.isArray(this.nodes)?Vm(this.nodes):""},dt.prototype.walk=function(i,e){return zm(this.nodes,i,e),this},dt.unit=jm(),dt.walk=zm,dt.stringify=Vm,Um.exports=dt})),Qm=v(((FI,Ym)=>{l();var{list:hA}=ge(),Wm=Gn(),mA=pt(),Gm=ii();Ym.exports=class{constructor(e){this.props=["transition","transition-property"],this.prefixes=e}add(e,t){let r,n,a=this.prefixes.add[e.prop],s=this.ruleVendorPrefixes(e),o=s||a&&a.prefixes||[],u=this.parse(e.value),c=u.map((m=>this.findProp(m))),f=[];if(c.some((m=>"-"===m[0])))return;for(let m of u){if(n=this.findProp(m),"-"===n[0])continue;let w=this.prefixes.add[n];if(w&&w.prefixes)for(r of w.prefixes){if(s&&!s.some((y=>r.includes(y))))continue;let x=this.prefixes.prefixed(n,r);"-ms-transform"!==x&&!c.includes(x)&&(this.disabled(n,r)||f.push(this.clone(n,x,m)))}}u=u.concat(f);let d=this.stringify(u),p=this.stringify(this.cleanFromUnprefixed(u,"-webkit-"));if(o.includes("-webkit-")&&this.cloneBefore(e,`-webkit-${e.prop}`,p),this.cloneBefore(e,e.prop,p),o.includes("-o-")){let m=this.stringify(this.cleanFromUnprefixed(u,"-o-"));this.cloneBefore(e,`-o-${e.prop}`,m)}for(r of o)if("-webkit-"!==r&&"-o-"!==r){let m=this.stringify(this.cleanOtherPrefixes(u,r));this.cloneBefore(e,r+e.prop,m)}d!==e.value&&!this.already(e,e.prop,d)&&(this.checkForWarning(t,e),e.cloneBefore(),e.value=d)}findProp(e){let t=e[0].value;if(/^\d/.test(t))for(let[r,n]of e.entries())if(0!==r&&"word"===n.type)return n.value;return t}already(e,t,r){return e.parent.some((n=>n.prop===t&&n.value===r))}cloneBefore(e,t,r){this.already(e,t,r)||e.cloneBefore({prop:t,value:r})}checkForWarning(e,t){if("transition-property"!==t.prop)return;let r=!1,n=!1;t.parent.each((a=>{if("decl"!==a.type||0!==a.prop.indexOf("transition-"))return;let s=hA.comma(a.value);if("transition-property"!==a.prop)return n=n||s.length>1,!1;s.forEach((o=>{let u=this.prefixes.add[o];u&&u.prefixes&&u.prefixes.length>0&&(r=!0)}))})),r&&n&&t.warn(e,"Replace transition-property to transition, because Autoprefixer could not support any cases of transition-property and other transition-*")}remove(e){let t=this.parse(e.value);t=t.filter((s=>{let o=this.prefixes.remove[this.findProp(s)];return!o||!o.remove}));let r=this.stringify(t);if(e.value===r)return;if(0===t.length)return void e.remove();let n=e.parent.some((s=>s.prop===e.prop&&s.value===r)),a=e.parent.some((s=>s!==e&&s.prop===e.prop&&s.value.length>r.length));n||a?e.remove():e.value=r}parse(e){let t=Wm(e),r=[],n=[];for(let a of t.nodes)n.push(a),"div"===a.type&&","===a.value&&(r.push(n),n=[]);return r.push(n),r.filter((a=>a.length>0))}stringify(e){if(0===e.length)return"";let t=[];for(let r of e)"div"!==r[r.length-1].type&&r.push(this.div(e)),t=t.concat(r);return"div"===t[0].type&&(t=t.slice(1)),"div"===t[t.length-1].type&&(t=t.slice(0,-1)),Wm.stringify({nodes:t})}clone(e,t,r){let n=[],a=!1;for(let s of r)a||"word"!==s.type||s.value!==e?n.push(s):(n.push({type:"word",value:t}),a=!0);return n}div(e){for(let t of e)for(let r of t)if("div"===r.type&&","===r.value)return r;return{type:"div",value:",",after:" "}}cleanOtherPrefixes(e,t){return e.filter((r=>{let n=Gm.prefix(this.findProp(r));return""===n||n===t}))}cleanFromUnprefixed(e,t){let r=e.map((a=>this.findProp(a))).filter((a=>a.slice(0,t.length)===t)).map((a=>this.prefixes.unprefixed(a))),n=[];for(let a of e){let s=this.findProp(a),o=Gm.prefix(s);!r.includes(s)&&(o===t||""===o)&&n.push(a)}return n}disabled(e,t){if(e.includes("flex")||["order","justify-content","align-self","align-content"].includes(e)){if(!1===this.prefixes.options.flexbox)return!0;if("no-2009"===this.prefixes.options.flexbox)return t.includes("2009")}}ruleVendorPrefixes(e){let{parent:t}=e;if("rule"!==t.type)return!1;if(!t.selector.includes(":-"))return!1;let r=mA.prefixes().filter((n=>t.selector.includes(":"+n)));return r.length>0&&r}}})),Gt=v(((NI,Xm)=>{l();var gA=fe();Xm.exports=class{constructor(e,t,r,n){this.unprefixed=e,this.prefixed=t,this.string=r||t,this.regexp=n||gA.regexp(t)}check(e){return!!e.includes(this.string)&&!!e.match(this.regexp)}}})),ke=v(((LI,Zm)=>{l();var yA=Ut(),wA=Gt(),bA=ii(),vA=fe();Zm.exports=class extends yA{static save(e,t){let r=t.prop,n=[];for(let a in t._autoprefixerValues){let s=t._autoprefixerValues[a];if(s===t.value)continue;let o,u=bA.prefix(r);if("-pie-"===u)continue;if(u===a){o=t.value=s,n.push(o);continue}let c=e.prefixed(r,a),f=t.parent;if(!f.every((w=>w.prop!==c))){n.push(o);continue}let d=s.replace(/\s+/," ");if(f.some((w=>w.prop===t.prop&&w.value.replace(/\s+/," ")===d))){n.push(o);continue}let m=this.clone(t,{value:s});o=t.parent.insertBefore(t,m),n.push(o)}return n}check(e){let t=e.value;return!!t.includes(this.name)&&!!t.match(this.regexp())}regexp(){return this.regexpCache||(this.regexpCache=vA.regexp(this.name))}replace(e,t){return e.replace(this.regexp(),`$1${t}$2`)}value(e){return e.raws.value&&e.raws.value.value===e.value?e.raws.value.raw:e.value}add(e,t){e._autoprefixerValues||(e._autoprefixerValues={});let n,r=e._autoprefixerValues[t]||this.value(e);do{if(n=r,r=this.replace(r,t),!1===r)return}while(r!==n);e._autoprefixerValues[t]=r}old(e){return new wA(this.name,e+this.name)}}})),ht=v((($I,eg)=>{l(),eg.exports={}})),il=v(((jI,ig)=>{l();var tg=Gn(),xA=ke(),kA=ht().insertAreas,SA=/(^|[^-])linear-gradient\(\s*(top|left|right|bottom)/i,CA=/(^|[^-])radial-gradient\(\s*\d+(\w*|%)\s+\d+(\w*|%)\s*,/i,AA=/(!\s*)?autoprefixer:\s*ignore\s+next/i,_A=/(!\s*)?autoprefixer\s*grid:\s*(on|off|(no-)?autoplace)/i,OA=["width","height","min-width","max-width","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size"];function rl(i){return i.parent.some((e=>"grid-template"===e.prop||"grid-template-areas"===e.prop))}ig.exports=class{constructor(e){this.prefixes=e}add(e,t){let r=this.prefixes.add["@resolution"],n=this.prefixes.add["@keyframes"],a=this.prefixes.add["@viewport"],s=this.prefixes.add["@supports"];function o(f){return f.parent.nodes.some((d=>{if("decl"!==d.type)return!1;let p="display"===d.prop&&/(inline-)?grid/.test(d.value),m=d.prop.startsWith("grid-template"),w=/^grid-([A-z]+-)?gap/.test(d.prop);return p||m||w}))}e.walkAtRules((f=>{if("keyframes"===f.name){if(!this.disabled(f,t))return n&&n.process(f)}else if("viewport"===f.name){if(!this.disabled(f,t))return a&&a.process(f)}else if("supports"===f.name){if(!1!==this.prefixes.options.supports&&!this.disabled(f,t))return s.process(f)}else if("media"===f.name&&f.params.includes("-resolution")&&!this.disabled(f,t))return r&&r.process(f)})),e.walkRules((f=>{if(!this.disabled(f,t))return this.prefixes.add.selectors.map((d=>d.process(f,t)))}));let c=this.gridStatus(e,t)&&this.prefixes.add["grid-area"]&&this.prefixes.add["grid-area"].prefixes;return e.walkDecls((f=>{if(this.disabledDecl(f,t))return;let w,d=f.parent,p=f.prop,m=f.value;if("grid-row-span"!==p)if("grid-column-span"!==p)if("display"!==p||"box"!==m){if("text-emphasis-position"===p)("under"===m||"over"===m)&&t.warn("You should use 2 values for text-emphasis-position For example, `under left` instead of just `under`.",{node:f});else if(/^(align|justify|place)-(items|content)$/.test(p)&&function(f){return f.parent.some((d=>"display"===d.prop&&/(inline-)?flex/.test(d.value)))}(f))("start"===m||"end"===m)&&t.warn(`${m} value has mixed support, consider using flex-${m} instead`,{node:f});else if("text-decoration-skip"===p&&"ink"===m)t.warn("Replace text-decoration-skip: ink to text-decoration-skip-ink: auto, because spec had been changed",{node:f});else{if(c&&this.gridStatus(f,t))if("subgrid"===f.value&&t.warn("IE does not support subgrid",{node:f}),/^(align|justify|place)-items$/.test(p)&&o(f)){let x=p.replace("-items","-self");t.warn(`IE does not support ${p} on grid containers. Try using ${x} on child elements instead: ${f.parent.selector} > * { ${x}: ${f.value} }`,{node:f})}else if(/^(align|justify|place)-content$/.test(p)&&o(f))t.warn(`IE does not support ${f.prop} on grid containers`,{node:f});else{if("display"===p&&"contents"===f.value)return void t.warn("Please do not use display: contents; if you have grid setting enabled",{node:f});if("grid-gap"===f.prop){let x=this.gridStatus(f,t);"autoplace"!==x||function(i){let e=i.parent.some((r=>"grid-template-rows"===r.prop)),t=i.parent.some((r=>"grid-template-columns"===r.prop));return e&&t}(f)||rl(f)?(!0===x||"no-autoplace"===x)&&!rl(f)&&t.warn("grid-gap only works if grid-template(-areas) is being used",{node:f}):t.warn("grid-gap only works if grid-template(-areas) is being used or both rows and columns have been declared and cells have not been manually placed inside the explicit grid",{node:f})}else{if("grid-auto-columns"===p)return void t.warn("grid-auto-columns is not supported by IE",{node:f});if("grid-auto-rows"===p)return void t.warn("grid-auto-rows is not supported by IE",{node:f});if("grid-auto-flow"===p){let x=d.some((b=>"grid-template-rows"===b.prop)),y=d.some((b=>"grid-template-columns"===b.prop));return void(rl(f)?t.warn("grid-auto-flow is not supported by IE",{node:f}):m.includes("dense")?t.warn("grid-auto-flow: dense is not supported by IE",{node:f}):!x&&!y&&t.warn("grid-auto-flow works only if grid-template-rows and grid-template-columns are present in the same rule",{node:f}))}if(m.includes("auto-fit"))return void t.warn("auto-fit value is not supported by IE",{node:f,word:"auto-fit"});if(m.includes("auto-fill"))return void t.warn("auto-fill value is not supported by IE",{node:f,word:"auto-fill"});p.startsWith("grid-template")&&m.includes("[")&&t.warn("Autoprefixer currently does not support line names. Try using grid-template-areas instead.",{node:f,word:"["})}}if(m.includes("radial-gradient"))if(CA.test(f.value))t.warn("Gradient has outdated direction syntax. New syntax is like `closest-side at 0 0` instead of `0 0, closest-side`.",{node:f});else{let x=tg(m);for(let y of x.nodes)if("function"===y.type&&"radial-gradient"===y.value)for(let b of y.nodes)"word"===b.type&&("cover"===b.value?t.warn("Gradient has outdated direction syntax. Replace `cover` to `farthest-corner`.",{node:f}):"contain"===b.value&&t.warn("Gradient has outdated direction syntax. Replace `contain` to `closest-side`.",{node:f}))}m.includes("linear-gradient")&&SA.test(m)&&t.warn("Gradient has outdated direction syntax. New syntax is like `to left` instead of `right`.",{node:f})}if(OA.includes(f.prop)&&(f.value.includes("-fill-available")||(f.value.includes("fill-available")?t.warn("Replace fill-available to stretch, because spec had been changed",{node:f}):f.value.includes("fill")&&tg(m).nodes.some((y=>"word"===y.type&&"fill"===y.value))&&t.warn("Replace fill to stretch, because spec had been changed",{node:f}))),"transition"===f.prop||"transition-property"===f.prop)return this.prefixes.transition.add(f,t);if("align-self"===f.prop){if("grid"!==this.displayType(f)&&!1!==this.prefixes.options.flexbox&&(w=this.prefixes.add["align-self"],w&&w.prefixes&&w.process(f)),!1!==this.gridStatus(f,t)&&(w=this.prefixes.add["grid-row-align"],w&&w.prefixes))return w.process(f,t)}else if("justify-self"===f.prop){if(!1!==this.gridStatus(f,t)&&(w=this.prefixes.add["grid-column-align"],w&&w.prefixes))return w.process(f,t)}else if("place-self"===f.prop){if(w=this.prefixes.add["place-self"],w&&w.prefixes&&!1!==this.gridStatus(f,t))return w.process(f,t)}else if(w=this.prefixes.add[f.prop],w&&w.prefixes)return w.process(f,t)}else t.warn("You should write display: flex by final spec instead of display: box",{node:f});else t.warn("grid-column-span is not part of final Grid Layout. Use grid-column.",{node:f});else t.warn("grid-row-span is not part of final Grid Layout. Use grid-row.",{node:f})})),this.gridStatus(e,t)&&kA(e,this.disabled),e.walkDecls((f=>{if(this.disabledValue(f,t))return;let d=this.prefixes.unprefixed(f.prop),p=this.prefixes.values("add",d);if(Array.isArray(p))for(let m of p)m.process&&m.process(f,t);xA.save(this.prefixes,f)}))}remove(e,t){let r=this.prefixes.remove["@resolution"];e.walkAtRules(((n,a)=>{this.prefixes.remove[`@${n.name}`]?this.disabled(n,t)||n.parent.removeChild(a):"media"===n.name&&n.params.includes("-resolution")&&r&&r.clean(n)}));for(let n of this.prefixes.remove.selectors)e.walkRules(((a,s)=>{n.check(a)&&(this.disabled(a,t)||a.parent.removeChild(s))}));return e.walkDecls(((n,a)=>{if(this.disabled(n,t))return;let s=n.parent,o=this.prefixes.unprefixed(n.prop);if(("transition"===n.prop||"transition-property"===n.prop)&&this.prefixes.transition.remove(n),this.prefixes.remove[n.prop]&&this.prefixes.remove[n.prop].remove){let u=this.prefixes.group(n).down((c=>this.prefixes.normalize(c.prop)===o));if("flex-flow"===o&&(u=!0),"-webkit-box-orient"===n.prop){let c={"flex-direction":!0,"flex-flow":!0};if(!n.parent.some((f=>c[f.prop])))return}if(u&&!this.withHackValue(n))return n.raw("before").includes("\n")&&this.reduceSpaces(n),void s.removeChild(a)}for(let u of this.prefixes.values("remove",o))if(u.check&&u.check(n.value)&&(o=u.unprefixed,this.prefixes.group(n).down((f=>f.value.includes(o)))))return void s.removeChild(a)}))}withHackValue(e){return"-webkit-background-clip"===e.prop&&"text"===e.value}disabledValue(e,t){return!!(!1===this.gridStatus(e,t)&&"decl"===e.type&&"display"===e.prop&&e.value.includes("grid")||!1===this.prefixes.options.flexbox&&"decl"===e.type&&"display"===e.prop&&e.value.includes("flex")||"decl"===e.type&&"content"===e.prop)||this.disabled(e,t)}disabledDecl(e,t){if(!1===this.gridStatus(e,t)&&"decl"===e.type&&(e.prop.includes("grid")||"justify-items"===e.prop))return!0;if(!1===this.prefixes.options.flexbox&&"decl"===e.type){let r=["order","justify-content","align-items","align-content"];if(e.prop.includes("flex")||r.includes(e.prop))return!0}return this.disabled(e,t)}disabled(e,t){if(!e)return!1;if(void 0!==e._autoprefixerDisabled)return e._autoprefixerDisabled;if(e.parent){let n=e.prev();if(n&&"comment"===n.type&&AA.test(n.text))return e._autoprefixerDisabled=!0,e._autoprefixerSelfDisabled=!0,!0}let r=null;if(e.nodes){let n;e.each((a=>{"comment"===a.type&&/(!\s*)?autoprefixer:\s*(off|on)/i.test(a.text)&&(void 0!==n?t.warn("Second Autoprefixer control comment was ignored. Autoprefixer applies control comment to whole block, not to next rules.",{node:a}):n=/on/i.test(a.text))})),void 0!==n&&(r=!n)}if(!e.nodes||null===r)if(e.parent){let n=this.disabled(e.parent,t);r=!0!==e.parent._autoprefixerSelfDisabled&&n}else r=!1;return e._autoprefixerDisabled=r,r}reduceSpaces(e){let t=!1;if(this.prefixes.group(e).up((()=>(t=!0,!0))),t)return;let r=e.raw("before").split("\n"),n=r[r.length-1].length,a=!1;this.prefixes.group(e).down((s=>{r=s.raw("before").split("\n");let o=r.length-1;r[o].length>n&&(!1===a&&(a=r[o].length-n),r[o]=r[o].slice(0,-a),s.raws.before=r.join("\n"))}))}displayType(e){for(let t of e.parent.nodes)if("display"===t.prop){if(t.value.includes("flex"))return"flex";if(t.value.includes("grid"))return"grid"}return!1}gridStatus(e,t){if(!e)return!1;if(void 0!==e._autoprefixerGridStatus)return e._autoprefixerGridStatus;let r=null;if(e.nodes){let n;e.each((a=>{if("comment"===a.type&&_A.test(a.text)){let s=/:\s*autoplace/i.test(a.text),o=/no-autoplace/i.test(a.text);void 0!==n?t.warn("Second Autoprefixer grid control comment was ignored. Autoprefixer applies control comments to the whole block, not to the next rules.",{node:a}):n=s?"autoplace":!!o||/on/i.test(a.text)}})),void 0!==n&&(r=n)}if("atrule"===e.type&&"supports"===e.name){let n=e.params;n.includes("grid")&&n.includes("auto")&&(r=!1)}if(!e.nodes||null===r)if(e.parent){let n=this.gridStatus(e.parent,t);r=!0!==e.parent._autoprefixerSelfDisabled&&n}else r=void 0!==this.prefixes.options.grid?this.prefixes.options.grid:void 0!==h.env.AUTOPREFIXER_GRID&&("autoplace"!==h.env.AUTOPREFIXER_GRID||"autoplace");return e._autoprefixerGridStatus=r,r}}})),sg=v(((zI,ng)=>{l(),ng.exports={A:{A:{2:"K E F G A B JC"},B:{1:"C L M H N D O P Q R S T U V W X Y Z a b c d e f g h i j n o p q r s t u v w x y z I"},C:{1:"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB 0B dB 1B eB fB gB hB iB jB kB lB mB nB oB m pB qB rB sB tB P Q R 2B S T U V W X Y Z a b c d e f g h i j n o p q r s t u v w x y z I uB 3B 4B",2:"0 1 KC zB J K E F G A B C L M H N D O k l LC MC"},D:{1:"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB 0B dB 1B eB fB gB hB iB jB kB lB mB nB oB m pB qB rB sB tB P Q R S T U V W X Y Z a b c d e f g h i j n o p q r s t u v w x y z I uB 3B 4B",2:"0 1 2 3 4 5 6 7 J K E F G A B C L M H N D O k l"},E:{1:"G A B C L M H D RC 6B vB wB 7B SC TC 8B 9B xB AC yB BC CC DC EC FC GC UC",2:"0 J K E F NC 5B OC PC QC"},F:{1:"1 2 3 4 5 6 7 8 9 H N D O k l AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB m pB qB rB sB tB P Q R 2B S T U V W X Y Z a b c d e f g h i j wB",2:"G B C VC WC XC YC vB HC ZC"},G:{1:"D fC gC hC iC jC kC lC mC nC oC pC qC rC sC tC 8B 9B xB AC yB BC CC DC EC FC GC",2:"F 5B aC IC bC cC dC eC"},H:{1:"uC"},I:{1:"I zC 0C",2:"zB J vC wC xC yC IC"},J:{2:"E A"},K:{1:"m",2:"A B C vB HC wB"},L:{1:"I"},M:{1:"uB"},N:{2:"A B"},O:{1:"xB"},P:{1:"J k l 1C 2C 3C 4C 5C 6B 6C 7C 8C 9C AD yB BD CD DD"},Q:{1:"7B"},R:{1:"ED"},S:{1:"FD GD"}},B:4,C:"CSS Feature Queries"}})),ug=v(((VI,lg)=>{function ag(i){return i[i.length-1]}l();var og={parse(i){let e=[""],t=[e];for(let r of i)"("!==r?")"!==r?e[e.length-1]+=r:(t.pop(),e=ag(t),e.push("")):(e=[""],ag(t).push(e),t.push(e));return t[0]},stringify(i){let e="";for(let t of i)e+="object"!=typeof t?t:`(${og.stringify(t)})`;return e}};lg.exports=og})),hg=v(((UI,dg)=>{l();var TA=sg(),{feature:PA}=($n(),Ln),{parse:DA}=ge(),IA=pt(),nl=ug(),qA=ke(),RA=fe(),fg=PA(TA),cg=[];for(let i in fg.stats){let e=fg.stats[i];for(let t in e){let r=e[t];/y/.test(r)&&cg.push(i+" "+t)}}dg.exports=class{constructor(e,t){this.Prefixes=e,this.all=t}prefixer(){if(this.prefixerCache)return this.prefixerCache;let e=this.all.browsers.selected.filter((r=>cg.includes(r))),t=new IA(this.all.browsers.data,e,this.all.options);return this.prefixerCache=new this.Prefixes(this.all.data,t,this.all.options),this.prefixerCache}parse(e){let t=e.split(":"),r=t[0],n=t[1];return n||(n=""),[r.trim(),n.trim()]}virtual(e){let[t,r]=this.parse(e),n=DA("a{}").first;return n.append({prop:t,value:r,raws:{before:""}}),n}prefixed(e){let t=this.virtual(e);if(this.disabled(t.first))return t.nodes;let n=this.prefixer().add[t.first.prop];n&&n.process&&n.process(t.first,{warn:()=>null});for(let a of t.nodes){for(let s of this.prefixer().values("add",t.first.prop))s.process(a);qA.save(this.all,a)}return t.nodes}isNot(e){return"string"==typeof e&&/not\s*/i.test(e)}isOr(e){return"string"==typeof e&&/\s*or\s*/i.test(e)}isProp(e){return"object"==typeof e&&1===e.length&&"string"==typeof e[0]}isHack(e,t){return!new RegExp(`(\\(|\\s)${RA.escapeRegexp(t)}:`).test(e)}toRemove(e,t){let[r,n]=this.parse(e),a=this.all.unprefixed(r),s=this.all.cleaner();if(s.remove[r]&&s.remove[r].remove&&!this.isHack(t,a))return!0;for(let o of s.values("remove",a))if(o.check(n))return!0;return!1}remove(e,t){let r=0;for(;r"object"!=typeof t?t:1===t.length&&"object"==typeof t[0]?this.cleanBrackets(t[0]):this.cleanBrackets(t)))}convert(e){let t=[""];for(let r of e)t.push([`${r.prop}: ${r.value}`]),t.push(" or ");return t[t.length-1]="",t}normalize(e){if("object"!=typeof e)return e;if("string"==typeof(e=e.filter((t=>""!==t)))[0]){let t=e[0].trim();if(t.includes(":")||"selector"===t||"not selector"===t)return[nl.stringify(e)]}return e.map((t=>this.normalize(t)))}add(e,t){return e.map((r=>{if(this.isProp(r)){let n=this.prefixed(r[0]);return n.length>1?this.convert(n):r}return"object"==typeof r?this.add(r,t):r}))}process(e){let t=nl.parse(e.params);t=this.normalize(t),t=this.remove(t,e.params),t=this.add(t,e.params),t=this.cleanBrackets(t),e.params=nl.stringify(t)}disabled(e){if(!this.all.options.grid&&("display"===e.prop&&e.value.includes("grid")||e.prop.includes("grid")||"justify-items"===e.prop))return!0;if(!1===this.all.options.flexbox){if("display"===e.prop&&e.value.includes("flex"))return!0;let t=["order","justify-content","align-items","align-content"];if(e.prop.includes("flex")||t.includes(e.prop))return!0}return!1}}})),yg=v(((WI,gg)=>{l();gg.exports=class{constructor(e,t){this.prefix=t,this.prefixed=e.prefixed(this.prefix),this.regexp=e.regexp(this.prefix),this.prefixeds=e.possible().map((r=>[e.prefixed(r),e.regexp(r)])),this.unprefixed=e.name,this.nameRegexp=e.regexp()}isHack(e){let t=e.parent.index(e)+1,r=e.parent.nodes;for(;t{l();var{list:MA}=ge(),BA=yg(),FA=Ut(),NA=pt(),LA=fe();bg.exports=class extends FA{constructor(e,t,r){super(e,t,r),this.regexpCache=new Map}check(e){return!!e.selector.includes(this.name)&&!!e.selector.match(this.regexp())}prefixed(e){return this.name.replace(/^(\W*)/,`$1${e}`)}regexp(e){if(!this.regexpCache.has(e)){let t=e?this.prefixed(e):this.name;this.regexpCache.set(e,new RegExp(`(^|[^:"'=])${LA.escapeRegexp(t)}`,"gi"))}return this.regexpCache.get(e)}possible(){return NA.prefixes()}prefixeds(e){if(e._autoprefixerPrefixeds){if(e._autoprefixerPrefixeds[this.name])return e._autoprefixerPrefixeds}else e._autoprefixerPrefixeds={};let t={};if(e.selector.includes(",")){let n=MA.comma(e.selector).filter((a=>a.includes(this.name)));for(let a of this.possible())t[a]=n.map((s=>this.replace(s,a))).join(", ")}else for(let r of this.possible())t[r]=this.replace(e.selector,r);return e._autoprefixerPrefixeds[this.name]=t,e._autoprefixerPrefixeds}already(e,t,r){let n=e.parent.index(e)-1;for(;n>=0;){let a=e.parent.nodes[n];if("rule"!==a.type)return!1;let s=!1;for(let o in t[this.name]){let u=t[this.name][o];if(a.selector===u){if(r===o)return!0;s=!0;break}}if(!s)return!1;n-=1}return!1}replace(e,t){return e.replace(this.regexp(),`$1${this.prefixed(t)}`)}add(e,t){let r=this.prefixeds(e);if(this.already(e,r,t))return;let n=this.clone(e,{selector:r[this.name][t]});e.parent.insertBefore(e,n)}old(e){return new BA(this,e)}}})),kg=v(((HI,xg)=>{l();var $A=Ut();xg.exports=class extends $A{add(e,t){let r=t+e.name;if(e.parent.some((s=>s.name===r&&s.params===e.params)))return;let a=this.clone(e,{name:r});return e.parent.insertBefore(e,a)}process(e){let t=this.parentPrefix(e);for(let r of this.prefixes)(!t||t===r)&&this.add(e,r)}}})),Cg=v(((YI,Sg)=>{l();var jA=Ht(),sl=class extends jA{prefixed(e){return"-webkit-"===e?":-webkit-full-screen":"-moz-"===e?":-moz-full-screen":`:${e}fullscreen`}};sl.names=[":fullscreen"],Sg.exports=sl})),_g=v(((QI,Ag)=>{l();var zA=Ht(),al=class extends zA{possible(){return super.possible().concat(["-moz- old","-ms- old"])}prefixed(e){return"-webkit-"===e?"::-webkit-input-placeholder":"-ms-"===e?"::-ms-input-placeholder":"-ms- old"===e?":-ms-input-placeholder":"-moz- old"===e?":-moz-placeholder":`::${e}placeholder`}};al.names=["::placeholder"],Ag.exports=al})),Eg=v(((JI,Og)=>{l();var VA=Ht(),ol=class extends VA{prefixed(e){return"-ms-"===e?":-ms-input-placeholder":`:${e}placeholder-shown`}};ol.names=[":placeholder-shown"],Og.exports=ol})),Pg=v(((XI,Tg)=>{l();var UA=Ht(),WA=fe(),ll=class extends UA{constructor(e,t,r){super(e,t,r),this.prefixes&&(this.prefixes=WA.uniq(this.prefixes.map((n=>"-webkit-"))))}prefixed(e){return"-webkit-"===e?"::-webkit-file-upload-button":`::${e}file-selector-button`}};ll.names=["::file-selector-button"],Tg.exports=ll})),he=v(((KI,Dg)=>{l(),Dg.exports=function(i){let e;return"-webkit- 2009"===i||"-moz-"===i?e=2009:"-ms-"===i?e=2012:"-webkit-"===i&&(e="final"),"-webkit- 2009"===i&&(i="-webkit-"),[e,i]}})),Mg=v(((ZI,Rg)=>{l();var Ig=ge().list,qg=he(),GA=R(),Yt=class extends GA{prefixed(e,t){let r;return[r,t]=qg(t),2009===r?t+"box-flex":super.prefixed(e,t)}normalize(){return"flex"}set(e,t){let r=qg(t)[0];if(2009===r)return e.value=Ig.space(e.value)[0],e.value=Yt.oldValues[e.value]||e.value,super.set(e,t);if(2012===r){let n=Ig.space(e.value);3===n.length&&"0"===n[2]&&(e.value=n.slice(0,2).concat("0px").join(" "))}return super.set(e,t)}};Yt.names=["flex","box-flex"],Yt.oldValues={auto:"1",none:"0"},Rg.exports=Yt})),Ng=v(((e4,Fg)=>{l();var Bg=he(),HA=R(),ul=class extends HA{prefixed(e,t){let r;return[r,t]=Bg(t),2009===r?t+"box-ordinal-group":2012===r?t+"flex-order":super.prefixed(e,t)}normalize(){return"order"}set(e,t){return 2009===Bg(t)[0]&&/\d/.test(e.value)?(e.value=(parseInt(e.value)+1).toString(),super.set(e,t)):super.set(e,t)}};ul.names=["order","flex-order","box-ordinal-group"],Fg.exports=ul})),$g=v(((t4,Lg)=>{l();var YA=R(),fl=class extends YA{check(e){let t=e.value;return!t.toLowerCase().includes("alpha(")&&!t.includes("DXImageTransform.Microsoft")&&!t.includes("data:image/svg+xml")}};fl.names=["filter"],Lg.exports=fl})),zg=v(((r4,jg)=>{l();var QA=R(),cl=class extends QA{insert(e,t,r,n){if("-ms-"!==t)return super.insert(e,t,r);let a=this.clone(e),s=e.prop.replace(/end$/,"start"),o=t+e.prop.replace(/end$/,"span");if(!e.parent.some((u=>u.prop===o))){if(a.prop=o,e.value.includes("span"))a.value=e.value.replace(/span\s/i,"");else{let u;if(e.parent.walkDecls(s,(c=>{u=c})),u){let c=Number(e.value)-Number(u.value)+"";a.value=c}else e.warn(n,`Can not prefix ${e.prop} (${s} is not found)`)}e.cloneBefore(a)}}};cl.names=["grid-row-end","grid-column-end"],jg.exports=cl})),Ug=v(((i4,Vg)=>{l();var JA=R(),pl=class extends JA{check(e){return!e.value.split(/\s+/).some((t=>{let r=t.toLowerCase();return"reverse"===r||"alternate-reverse"===r}))}};pl.names=["animation","animation-direction"],Vg.exports=pl})),Gg=v(((n4,Wg)=>{l();var XA=he(),KA=R(),dl=class extends KA{insert(e,t,r){let n;if([n,t]=XA(t),2009!==n)return super.insert(e,t,r);let a=e.value.split(/\s+/).filter((d=>"wrap"!==d&&"nowrap"!==d&&"wrap-reverse"));if(0===a.length||e.parent.some((d=>d.prop===t+"box-orient"||d.prop===t+"box-direction")))return;let o=a[0],u=o.includes("row")?"horizontal":"vertical",c=o.includes("reverse")?"reverse":"normal",f=this.clone(e);return f.prop=t+"box-orient",f.value=u,this.needCascade(e)&&(f.raws.before=this.calcBefore(r,e,t)),e.parent.insertBefore(e,f),f=this.clone(e),f.prop=t+"box-direction",f.value=c,this.needCascade(e)&&(f.raws.before=this.calcBefore(r,e,t)),e.parent.insertBefore(e,f)}};dl.names=["flex-flow","box-direction","box-orient"],Wg.exports=dl})),Yg=v(((s4,Hg)=>{l();var ZA=he(),e_=R(),hl=class extends e_{normalize(){return"flex"}prefixed(e,t){let r;return[r,t]=ZA(t),2009===r?t+"box-flex":2012===r?t+"flex-positive":super.prefixed(e,t)}};hl.names=["flex-grow","flex-positive"],Hg.exports=hl})),Jg=v(((a4,Qg)=>{l();var t_=he(),r_=R(),ml=class extends r_{set(e,t){if(2009!==t_(t)[0])return super.set(e,t)}};ml.names=["flex-wrap"],Qg.exports=ml})),Kg=v(((o4,Xg)=>{l();var i_=R(),Qt=ht(),gl=class extends i_{insert(e,t,r,n){if("-ms-"!==t)return super.insert(e,t,r);let a=Qt.parse(e),[s,o]=Qt.translate(a,0,2),[u,c]=Qt.translate(a,1,3);[["grid-row",s],["grid-row-span",o],["grid-column",u],["grid-column-span",c]].forEach((([f,d])=>{Qt.insertDecl(e,f,d)})),Qt.warnTemplateSelectorNotFound(e,n),Qt.warnIfGridRowColumnExists(e,n)}};gl.names=["grid-area"],Xg.exports=gl})),ey=v(((l4,Zg)=>{l();var n_=R(),ni=ht(),yl=class extends n_{insert(e,t,r){if("-ms-"!==t)return super.insert(e,t,r);if(e.parent.some((s=>"-ms-grid-row-align"===s.prop)))return;let[[n,a]]=ni.parse(e);a?(ni.insertDecl(e,"grid-row-align",n),ni.insertDecl(e,"grid-column-align",a)):(ni.insertDecl(e,"grid-row-align",n),ni.insertDecl(e,"grid-column-align",n))}};yl.names=["place-self"],Zg.exports=yl})),ry=v(((u4,ty)=>{l();var s_=R(),wl=class extends s_{check(e){let t=e.value;return!t.includes("/")||t.includes("span")}normalize(e){return e.replace("-start","")}prefixed(e,t){let r=super.prefixed(e,t);return"-ms-"===t&&(r=r.replace("-start","")),r}};wl.names=["grid-row-start","grid-column-start"],ty.exports=wl})),sy=v(((f4,ny)=>{l();var iy=he(),a_=R(),Jt=class extends a_{check(e){return e.parent&&!e.parent.some((t=>t.prop&&t.prop.startsWith("grid-")))}prefixed(e,t){let r;return[r,t]=iy(t),2012===r?t+"flex-item-align":super.prefixed(e,t)}normalize(){return"align-self"}set(e,t){let r=iy(t)[0];return 2012===r?(e.value=Jt.oldValues[e.value]||e.value,super.set(e,t)):"final"===r?super.set(e,t):void 0}};Jt.names=["align-self","flex-item-align"],Jt.oldValues={"flex-end":"end","flex-start":"start"},ny.exports=Jt})),oy=v(((c4,ay)=>{l();var o_=R(),l_=fe(),bl=class extends o_{constructor(e,t,r){super(e,t,r),this.prefixes&&(this.prefixes=l_.uniq(this.prefixes.map((n=>"-ms-"===n?"-webkit-":n))))}};bl.names=["appearance"],ay.exports=bl})),fy=v(((p4,uy)=>{l();var ly=he(),u_=R(),vl=class extends u_{normalize(){return"flex-basis"}prefixed(e,t){let r;return[r,t]=ly(t),2012===r?t+"flex-preferred-size":super.prefixed(e,t)}set(e,t){let r;if([r,t]=ly(t),2012===r||"final"===r)return super.set(e,t)}};vl.names=["flex-basis","flex-preferred-size"],uy.exports=vl})),py=v(((d4,cy)=>{l();var f_=R(),xl=class extends f_{normalize(){return this.name.replace("box-image","border")}prefixed(e,t){let r=super.prefixed(e,t);return"-webkit-"===t&&(r=r.replace("border","box-image")),r}};xl.names=["mask-border","mask-border-source","mask-border-slice","mask-border-width","mask-border-outset","mask-border-repeat","mask-box-image","mask-box-image-source","mask-box-image-slice","mask-box-image-width","mask-box-image-outset","mask-box-image-repeat"],cy.exports=xl})),hy=v(((h4,dy)=>{l();var c_=R(),Ne=class extends c_{insert(e,t,r){let a,n="mask-composite"===e.prop;a=n?e.value.split(","):e.value.match(Ne.regexp)||[],a=a.map((c=>c.trim())).filter((c=>c));let o,s=a.length;if(s&&(o=this.clone(e),o.value=a.map((c=>Ne.oldValues[c]||c)).join(", "),a.includes("intersect")&&(o.value+=", xor"),o.prop=t+"mask-composite"),n)return s?(this.needCascade(e)&&(o.raws.before=this.calcBefore(r,e,t)),e.parent.insertBefore(e,o)):void 0;let u=this.clone(e);return u.prop=t+u.prop,s&&(u.value=u.value.replace(Ne.regexp,"")),this.needCascade(e)&&(u.raws.before=this.calcBefore(r,e,t)),e.parent.insertBefore(e,u),s?(this.needCascade(e)&&(o.raws.before=this.calcBefore(r,e,t)),e.parent.insertBefore(e,o)):e}};Ne.names=["mask","mask-composite"],Ne.oldValues={add:"source-over",subtract:"source-out",intersect:"source-in",exclude:"xor"},Ne.regexp=new RegExp(`\\s+(${Object.keys(Ne.oldValues).join("|")})\\b(?!\\))\\s*(?=[,])`,"ig"),dy.exports=Ne})),yy=v(((m4,gy)=>{l();var my=he(),p_=R(),Xt=class extends p_{prefixed(e,t){let r;return[r,t]=my(t),2009===r?t+"box-align":2012===r?t+"flex-align":super.prefixed(e,t)}normalize(){return"align-items"}set(e,t){let r=my(t)[0];return(2009===r||2012===r)&&(e.value=Xt.oldValues[e.value]||e.value),super.set(e,t)}};Xt.names=["align-items","flex-align","box-align"],Xt.oldValues={"flex-end":"end","flex-start":"start"},gy.exports=Xt})),by=v(((g4,wy)=>{l();var d_=R(),kl=class extends d_{set(e,t){return"-ms-"===t&&"contain"===e.value&&(e.value="element"),super.set(e,t)}insert(e,t,r){if("all"!==e.value||"-ms-"!==t)return super.insert(e,t,r)}};kl.names=["user-select"],wy.exports=kl})),ky=v(((y4,xy)=>{l();var vy=he(),h_=R(),Sl=class extends h_{normalize(){return"flex-shrink"}prefixed(e,t){let r;return[r,t]=vy(t),2012===r?t+"flex-negative":super.prefixed(e,t)}set(e,t){let r;if([r,t]=vy(t),2012===r||"final"===r)return super.set(e,t)}};Sl.names=["flex-shrink","flex-negative"],xy.exports=Sl})),Cy=v(((w4,Sy)=>{l();var m_=R(),Cl=class extends m_{prefixed(e,t){return`${t}column-${e}`}normalize(e){return e.includes("inside")?"break-inside":e.includes("before")?"break-before":"break-after"}set(e,t){return("break-inside"===e.prop&&"avoid-column"===e.value||"avoid-page"===e.value)&&(e.value="avoid"),super.set(e,t)}insert(e,t,r){return"break-inside"!==e.prop?super.insert(e,t,r):/region/i.test(e.value)||/page/i.test(e.value)?void 0:super.insert(e,t,r)}};Cl.names=["break-inside","page-break-inside","column-break-inside","break-before","page-break-before","column-break-before","break-after","page-break-after","column-break-after"],Sy.exports=Cl})),_y=v(((b4,Ay)=>{l();var g_=R(),Al=class extends g_{prefixed(e,t){return t+"print-color-adjust"}normalize(){return"color-adjust"}};Al.names=["color-adjust","print-color-adjust"],Ay.exports=Al})),Ey=v(((v4,Oy)=>{l();var y_=R(),Kt=class extends y_{insert(e,t,r){if("-ms-"===t){let n=this.set(this.clone(e),t);this.needCascade(e)&&(n.raws.before=this.calcBefore(r,e,t));let a="ltr";return e.parent.nodes.forEach((s=>{"direction"===s.prop&&("rtl"===s.value||"ltr"===s.value)&&(a=s.value)})),n.value=Kt.msValues[a][e.value]||e.value,e.parent.insertBefore(e,n)}return super.insert(e,t,r)}};Kt.names=["writing-mode"],Kt.msValues={ltr:{"horizontal-tb":"lr-tb","vertical-rl":"tb-rl","vertical-lr":"tb-lr"},rtl:{"horizontal-tb":"rl-tb","vertical-rl":"bt-rl","vertical-lr":"bt-lr"}},Oy.exports=Kt})),Py=v(((x4,Ty)=>{l();var w_=R(),_l=class extends w_{set(e,t){return e.value=e.value.replace(/\s+fill(\s)/,"$1"),super.set(e,t)}};_l.names=["border-image"],Ty.exports=_l})),qy=v(((k4,Iy)=>{l();var Dy=he(),b_=R(),Zt=class extends b_{prefixed(e,t){let r;return[r,t]=Dy(t),2012===r?t+"flex-line-pack":super.prefixed(e,t)}normalize(){return"align-content"}set(e,t){let r=Dy(t)[0];return 2012===r?(e.value=Zt.oldValues[e.value]||e.value,super.set(e,t)):"final"===r?super.set(e,t):void 0}};Zt.names=["align-content","flex-line-pack"],Zt.oldValues={"flex-end":"end","flex-start":"start","space-between":"justify","space-around":"distribute"},Iy.exports=Zt})),My=v(((S4,Ry)=>{l();var v_=R(),Se=class extends v_{prefixed(e,t){return"-moz-"===t?t+(Se.toMozilla[e]||e):super.prefixed(e,t)}normalize(e){return Se.toNormal[e]||e}};Se.names=["border-radius"],Se.toMozilla={},Se.toNormal={};for(let i of["top","bottom"])for(let e of["left","right"]){let t=`border-${i}-${e}-radius`,r=`border-radius-${i}${e}`;Se.names.push(t),Se.names.push(r),Se.toMozilla[t]=r,Se.toNormal[r]=t}Ry.exports=Se})),Fy=v(((C4,By)=>{l();var x_=R(),Ol=class extends x_{prefixed(e,t){return e.includes("-start")?t+e.replace("-block-start","-before"):t+e.replace("-block-end","-after")}normalize(e){return e.includes("-before")?e.replace("-before","-block-start"):e.replace("-after","-block-end")}};Ol.names=["border-block-start","border-block-end","margin-block-start","margin-block-end","padding-block-start","padding-block-end","border-before","border-after","margin-before","margin-after","padding-before","padding-after"],By.exports=Ol})),Ly=v(((A4,Ny)=>{l();var k_=R(),{parseTemplate:S_,warnMissedAreas:C_,getGridGap:A_,warnGridGap:__,inheritGridGap:O_}=ht(),El=class extends k_{insert(e,t,r,n){if("-ms-"!==t)return super.insert(e,t,r);if(e.parent.some((m=>"-ms-grid-rows"===m.prop)))return;let a=A_(e),s=O_(e,a),{rows:o,columns:u,areas:c}=S_({decl:e,gap:s||a}),f=Object.keys(c).length>0,d=Boolean(o),p=Boolean(u);return __({gap:a,hasColumns:p,decl:e,result:n}),C_(c,e,n),(d&&p||f)&&e.cloneBefore({prop:"-ms-grid-rows",value:o,raws:{}}),p&&e.cloneBefore({prop:"-ms-grid-columns",value:u,raws:{}}),e}};El.names=["grid-template"],Ny.exports=El})),jy=v(((_4,$y)=>{l();var E_=R(),Tl=class extends E_{prefixed(e,t){return t+e.replace("-inline","")}normalize(e){return e.replace(/(margin|padding|border)-(start|end)/,"$1-inline-$2")}};Tl.names=["border-inline-start","border-inline-end","margin-inline-start","margin-inline-end","padding-inline-start","padding-inline-end","border-start","border-end","margin-start","margin-end","padding-start","padding-end"],$y.exports=Tl})),Vy=v(((O4,zy)=>{l();var T_=R(),Pl=class extends T_{check(e){return!e.value.includes("flex-")&&"baseline"!==e.value}prefixed(e,t){return t+"grid-row-align"}normalize(){return"align-self"}};Pl.names=["grid-row-align"],zy.exports=Pl})),Wy=v(((E4,Uy)=>{l();var P_=R(),er=class extends P_{keyframeParents(e){let{parent:t}=e;for(;t;){if("atrule"===t.type&&"keyframes"===t.name)return!0;({parent:t}=t)}return!1}contain3d(e){if("transform-origin"===e.prop)return!1;for(let t of er.functions3d)if(e.value.includes(`${t}(`))return!0;return!1}set(e,t){return e=super.set(e,t),"-ms-"===t&&(e.value=e.value.replace(/rotatez/gi,"rotate")),e}insert(e,t,r){if("-ms-"===t){if(!this.contain3d(e)&&!this.keyframeParents(e))return super.insert(e,t,r)}else{if("-o-"!==t)return super.insert(e,t,r);if(!this.contain3d(e))return super.insert(e,t,r)}}};er.names=["transform","transform-origin"],er.functions3d=["matrix3d","translate3d","translateZ","scale3d","scaleZ","rotate3d","rotateX","rotateY","perspective"],Uy.exports=er})),Yy=v(((T4,Hy)=>{l();var Gy=he(),D_=R(),Dl=class extends D_{normalize(){return"flex-direction"}insert(e,t,r){let n;if([n,t]=Gy(t),2009!==n)return super.insert(e,t,r);if(e.parent.some((f=>f.prop===t+"box-orient"||f.prop===t+"box-direction")))return;let o,u,s=e.value;"inherit"===s||"initial"===s||"unset"===s?(o=s,u=s):(o=s.includes("row")?"horizontal":"vertical",u=s.includes("reverse")?"reverse":"normal");let c=this.clone(e);return c.prop=t+"box-orient",c.value=o,this.needCascade(e)&&(c.raws.before=this.calcBefore(r,e,t)),e.parent.insertBefore(e,c),c=this.clone(e),c.prop=t+"box-direction",c.value=u,this.needCascade(e)&&(c.raws.before=this.calcBefore(r,e,t)),e.parent.insertBefore(e,c)}old(e,t){let r;return[r,t]=Gy(t),2009===r?[t+"box-orient",t+"box-direction"]:super.old(e,t)}};Dl.names=["flex-direction","box-direction","box-orient"],Hy.exports=Dl})),Jy=v(((P4,Qy)=>{l();var I_=R(),Il=class extends I_{check(e){return"pixelated"===e.value}prefixed(e,t){return"-ms-"===t?"-ms-interpolation-mode":super.prefixed(e,t)}set(e,t){return"-ms-"!==t?super.set(e,t):(e.prop="-ms-interpolation-mode",e.value="nearest-neighbor",e)}normalize(){return"image-rendering"}process(e,t){return super.process(e,t)}};Il.names=["image-rendering","interpolation-mode"],Qy.exports=Il})),Ky=v(((D4,Xy)=>{l();var q_=R(),R_=fe(),ql=class extends q_{constructor(e,t,r){super(e,t,r),this.prefixes&&(this.prefixes=R_.uniq(this.prefixes.map((n=>"-ms-"===n?"-webkit-":n))))}};ql.names=["backdrop-filter"],Xy.exports=ql})),ew=v(((I4,Zy)=>{l();var M_=R(),B_=fe(),Rl=class extends M_{constructor(e,t,r){super(e,t,r),this.prefixes&&(this.prefixes=B_.uniq(this.prefixes.map((n=>"-ms-"===n?"-webkit-":n))))}check(e){return"text"===e.value.toLowerCase()}};Rl.names=["background-clip"],Zy.exports=Rl})),rw=v(((q4,tw)=>{l();var F_=R(),N_=["none","underline","overline","line-through","blink","inherit","initial","unset"],Ml=class extends F_{check(e){return e.value.split(/\s+/).some((t=>!N_.includes(t)))}};Ml.names=["text-decoration"],tw.exports=Ml})),sw=v(((R4,nw)=>{l();var iw=he(),L_=R(),tr=class extends L_{prefixed(e,t){let r;return[r,t]=iw(t),2009===r?t+"box-pack":2012===r?t+"flex-pack":super.prefixed(e,t)}normalize(){return"justify-content"}set(e,t){let r=iw(t)[0];if(2009===r||2012===r){let n=tr.oldValues[e.value]||e.value;if(e.value=n,2009!==r||"distribute"!==n)return super.set(e,t)}else if("final"===r)return super.set(e,t)}};tr.names=["justify-content","flex-pack","box-pack"],tr.oldValues={"flex-end":"end","flex-start":"start","space-between":"justify","space-around":"distribute"},nw.exports=tr})),ow=v(((M4,aw)=>{l();var $_=R(),Bl=class extends $_{set(e,t){let r=e.value.toLowerCase();return"-webkit-"===t&&!r.includes(" ")&&"contain"!==r&&"cover"!==r&&(e.value=e.value+" "+e.value),super.set(e,t)}};Bl.names=["background-size"],aw.exports=Bl})),uw=v(((B4,lw)=>{l();var j_=R(),Fl=ht(),Nl=class extends j_{insert(e,t,r){if("-ms-"!==t)return super.insert(e,t,r);let n=Fl.parse(e),[a,s]=Fl.translate(n,0,1);n[0]&&n[0].includes("span")&&(s=n[0].join("").replace(/\D/g,"")),[[e.prop,a],[`${e.prop}-span`,s]].forEach((([u,c])=>{Fl.insertDecl(e,u,c)}))}};Nl.names=["grid-row","grid-column"],lw.exports=Nl})),pw=v(((F4,cw)=>{l();var z_=R(),{prefixTrackProp:fw,prefixTrackValue:V_,autoplaceGridItems:U_,getGridGap:W_,inheritGridGap:G_}=ht(),H_=il(),Ll=class extends z_{prefixed(e,t){return"-ms-"===t?fw({prop:e,prefix:t}):super.prefixed(e,t)}normalize(e){return e.replace(/^grid-(rows|columns)/,"grid-template-$1")}insert(e,t,r,n){if("-ms-"!==t)return super.insert(e,t,r);let{parent:a,prop:s,value:o}=e,u=s.includes("rows"),c=s.includes("columns"),f=a.some((k=>"grid-template"===k.prop||"grid-template-areas"===k.prop));if(f&&u)return!1;let d=new H_({options:{}}),p=d.gridStatus(a,n),m=W_(e);m=G_(e,m)||m;let w=u?m.row:m.column;("no-autoplace"===p||!0===p)&&!f&&(w=null);let x=V_({value:o,gap:w});e.cloneBefore({prop:fw({prop:s,prefix:t}),value:x});let y=a.nodes.find((k=>"grid-auto-flow"===k.prop)),b="row";if(y&&!d.disabled(y,n)&&(b=y.value.trim()),"autoplace"===p){let k=a.nodes.find((_=>"grid-template-rows"===_.prop));if(!k&&f)return;if(!k&&!f)return void e.warn(n,"Autoplacement does not work without grid-template-rows property");!a.nodes.find((_=>"grid-template-columns"===_.prop))&&!f&&e.warn(n,"Autoplacement does not work without grid-template-columns property"),c&&!f&&U_(e,n,m,b)}}};Ll.names=["grid-template-rows","grid-template-columns","grid-rows","grid-columns"],cw.exports=Ll})),hw=v(((N4,dw)=>{l();var Y_=R(),$l=class extends Y_{check(e){return!e.value.includes("flex-")&&"baseline"!==e.value}prefixed(e,t){return t+"grid-column-align"}normalize(){return"justify-self"}};$l.names=["grid-column-align"],dw.exports=$l})),gw=v(((L4,mw)=>{l();var Q_=R(),jl=class extends Q_{prefixed(e,t){return t+"scroll-chaining"}normalize(){return"overscroll-behavior"}set(e,t){return"auto"===e.value?e.value="chained":("none"===e.value||"contain"===e.value)&&(e.value="none"),super.set(e,t)}};jl.names=["overscroll-behavior","scroll-chaining"],mw.exports=jl})),bw=v((($4,ww)=>{l();var J_=R(),{parseGridAreas:X_,warnMissedAreas:K_,prefixTrackProp:Z_,prefixTrackValue:yw,getGridGap:e5,warnGridGap:t5,inheritGridGap:r5}=ht();var zl=class extends J_{insert(e,t,r,n){if("-ms-"!==t)return super.insert(e,t,r);let a=!1,s=!1,o=e.parent,u=e5(e);u=r5(e,u)||u,o.walkDecls(/-ms-grid-rows/,(d=>d.remove())),o.walkDecls(/grid-template-(rows|columns)/,(d=>{if("grid-template-rows"===d.prop){s=!0;let{prop:p,value:m}=d;d.cloneBefore({prop:Z_({prop:p,prefix:t}),value:yw({value:m,gap:u.row})})}else a=!0}));let c=e.value.trim().slice(1,-1).split(/["']\s*["']?/g);a&&!s&&u.row&&c.length>1&&e.cloneBefore({prop:"-ms-grid-rows",value:yw({value:`repeat(${c.length}, auto)`,gap:u.row}),raws:{}}),t5({gap:u,hasColumns:a,decl:e,result:n});let f=X_({rows:c,gap:u});return K_(f,e,n),e}};zl.names=["grid-template-areas"],ww.exports=zl})),xw=v(((j4,vw)=>{l();var n5=R(),Vl=class extends n5{set(e,t){return"-webkit-"===t&&(e.value=e.value.replace(/\s*(right|left)\s*/i,"")),super.set(e,t)}};Vl.names=["text-emphasis-position"],vw.exports=Vl})),Sw=v(((z4,kw)=>{l();var s5=R(),Ul=class extends s5{set(e,t){return"text-decoration-skip-ink"===e.prop&&"auto"===e.value?(e.prop=t+"text-decoration-skip",e.value="ink",e):super.set(e,t)}};Ul.names=["text-decoration-skip-ink","text-decoration-skip"],kw.exports=Ul})),Tw=v(((V4,Ew)=>{function Cw(i,e,t){var r=e-i;return((t-i)%r+r)%r+i}function Aw(i,e,t){return Math.max(i,Math.min(e,t))}function _w(i,e,t,r,n){if(!Wl(i,e,t,r,n))throw new Error(t+" is outside of range ["+i+","+e+")");return t}function Wl(i,e,t,r,n){return!(te||n&&t===e||r&&t===i)}function Ow(i,e,t,r){return(t?"(":"[")+i+","+e+(r?")":"]")}l(),Ew.exports={wrap:Cw,limit:Aw,validate:_w,test:Wl,curry:function(i,e,t,r){var n=Ow.bind(null,i,e,t,r);return{wrap:Cw.bind(null,i,e),limit:Aw.bind(null,i,e),validate:function(a){return _w(i,e,a,t,r)},test:function(a){return Wl(i,e,a,t,r)},toString:n,name:n}},name:Ow}})),Iw=v(((U4,Dw)=>{l();var Gl=Gn(),o5=Tw(),l5=Gt(),u5=ke(),f5=fe(),Pw=/top|left|right|bottom/gi,Qe=class extends u5{replace(e,t){let r=Gl(e);for(let n of r.nodes)if("function"===n.type&&n.value===this.name)if(n.nodes=this.newDirection(n.nodes),n.nodes=this.normalize(n.nodes),"-webkit- old"===t){if(!this.oldWebkit(n))return!1}else n.nodes=this.convertDirection(n.nodes),n.value=t+n.value;return r.toString()}replaceFirst(e,...t){return t.map((n=>" "===n?{type:"space",value:n}:{type:"word",value:n})).concat(e.slice(1))}normalizeUnit(e,t){return parseFloat(e)/t*360+"deg"}normalize(e){if(!e[0])return e;if(/-?\d+(.\d+)?grad/.test(e[0].value))e[0].value=this.normalizeUnit(e[0].value,400);else if(/-?\d+(.\d+)?rad/.test(e[0].value))e[0].value=this.normalizeUnit(e[0].value,2*Math.PI);else if(/-?\d+(.\d+)?turn/.test(e[0].value))e[0].value=this.normalizeUnit(e[0].value,1);else if(e[0].value.includes("deg")){let t=parseFloat(e[0].value);t=o5.wrap(0,360,t),e[0].value=`${t}deg`}return"0deg"===e[0].value?e=this.replaceFirst(e,"to"," ","top"):"90deg"===e[0].value?e=this.replaceFirst(e,"to"," ","right"):"180deg"===e[0].value?e=this.replaceFirst(e,"to"," ","bottom"):"270deg"===e[0].value&&(e=this.replaceFirst(e,"to"," ","left")),e}newDirection(e){if("to"===e[0].value||(Pw.lastIndex=0,!Pw.test(e[0].value)))return e;e.unshift({type:"word",value:"to"},{type:"space",value:" "});for(let t=2;t0&&("to"===e[0].value?this.fixDirection(e):e[0].value.includes("deg")?this.fixAngle(e):this.isRadial(e)&&this.fixRadial(e)),e}fixDirection(e){e.splice(0,2);for(let t of e){if("div"===t.type)break;"word"===t.type&&(t.value=this.revertDirection(t.value))}}fixAngle(e){let t=e[0].value;t=parseFloat(t),t=Math.abs(450-t)%360,t=this.roundFloat(t,3),e[0].value=`${t}deg`}fixRadial(e){let n,a,s,o,u,c,t=[],r=[];for(o=0;o{l();var c5=Gt(),p5=ke();function qw(i){return new RegExp(`(^|[\\s,(])(${i}($|[\\s),]))`,"gi")}var Hl=class extends p5{regexp(){return this.regexpCache||(this.regexpCache=qw(this.name)),this.regexpCache}isStretch(){return"stretch"===this.name||"fill"===this.name||"fill-available"===this.name}replace(e,t){return"-moz-"===t&&this.isStretch()?e.replace(this.regexp(),"$1-moz-available$3"):"-webkit-"===t&&this.isStretch()?e.replace(this.regexp(),"$1-webkit-fill-available$3"):super.replace(e,t)}old(e){let t=e+this.name;return this.isStretch()&&("-moz-"===e?t="-moz-available":"-webkit-"===e&&(t="-webkit-fill-available")),new c5(this.name,t,t,qw(t))}add(e,t){if(!e.prop.includes("grid")||"-webkit-"===t)return super.add(e,t)}};Hl.names=["max-content","min-content","fit-content","fill","fill-available","stretch"],Rw.exports=Hl})),Nw=v(((G4,Fw)=>{l();var Bw=Gt(),d5=ke(),Yl=class extends d5{replace(e,t){return"-webkit-"===t?e.replace(this.regexp(),"$1-webkit-optimize-contrast"):"-moz-"===t?e.replace(this.regexp(),"$1-moz-crisp-edges"):super.replace(e,t)}old(e){return"-webkit-"===e?new Bw(this.name,"-webkit-optimize-contrast"):"-moz-"===e?new Bw(this.name,"-moz-crisp-edges"):super.old(e)}};Yl.names=["pixelated"],Fw.exports=Yl})),$w=v(((H4,Lw)=>{l();var h5=ke(),Ql=class extends h5{replace(e,t){let r=super.replace(e,t);return"-webkit-"===t&&(r=r.replace(/("[^"]+"|'[^']+')(\s+\d+\w)/gi,"url($1)$2")),r}};Ql.names=["image-set"],Lw.exports=Ql})),zw=v(((Y4,jw)=>{l();var m5=ge().list,g5=ke(),Jl=class extends g5{replace(e,t){return m5.space(e).map((r=>{if(r.slice(0,+this.name.length+1)!==this.name+"(")return r;let n=r.lastIndexOf(")"),a=r.slice(n+1),s=r.slice(this.name.length+1,n);if("-webkit-"===t){let o=s.match(/\d*.?\d+%?/);o?(s=s.slice(o[0].length).trim(),s+=`, ${o[0]}`):s+=", 0.5"}return t+this.name+"("+s+")"+a})).join(" ")}};Jl.names=["cross-fade"],jw.exports=Jl})),Uw=v(((Q4,Vw)=>{l();var y5=he(),w5=Gt(),b5=ke(),Xl=class extends b5{constructor(e,t){super(e,t),"display-flex"===e&&(this.name="flex")}check(e){return"display"===e.prop&&e.value===this.name}prefixed(e){let t,r;return[t,e]=y5(e),2009===t?r="flex"===this.name?"box":"inline-box":2012===t?r="flex"===this.name?"flexbox":"inline-flexbox":"final"===t&&(r=this.name),e+r}replace(e,t){return this.prefixed(t)}old(e){let t=this.prefixed(e);if(t)return new w5(this.name,t)}};Xl.names=["display-flex","inline-flex"],Vw.exports=Xl})),Gw=v(((J4,Ww)=>{l();var v5=ke(),Kl=class extends v5{constructor(e,t){super(e,t),"display-grid"===e&&(this.name="grid")}check(e){return"display"===e.prop&&e.value===this.name}};Kl.names=["display-grid","inline-grid"],Ww.exports=Kl})),Yw=v(((X4,Hw)=>{l();var x5=ke(),Zl=class extends x5{constructor(e,t){super(e,t),"filter-function"===e&&(this.name="filter")}};Zl.names=["filter","filter-function"],Hw.exports=Zl})),Kw=v(((K4,Xw)=>{l();var Qw=ii(),M=R(),Jw=Dm(),k5=Qm(),S5=il(),C5=hg(),eu=pt(),rr=Ht(),A5=kg(),Le=ke(),ir=fe(),_5=Cg(),O5=_g(),E5=Eg(),T5=Pg(),P5=Mg(),D5=Ng(),I5=$g(),q5=zg(),R5=Ug(),M5=Gg(),B5=Yg(),F5=Jg(),N5=Kg(),L5=ey(),$5=ry(),j5=sy(),z5=oy(),V5=fy(),U5=py(),W5=hy(),G5=yy(),H5=by(),Y5=ky(),Q5=Cy(),J5=_y(),X5=Ey(),K5=Py(),Z5=qy(),eO=My(),tO=Fy(),rO=Ly(),iO=jy(),nO=Vy(),sO=Wy(),aO=Yy(),oO=Jy(),lO=Ky(),uO=ew(),fO=rw(),cO=sw(),pO=ow(),dO=uw(),hO=pw(),mO=hw(),gO=gw(),yO=bw(),wO=xw(),bO=Sw(),vO=Iw(),xO=Mw(),kO=Nw(),SO=$w(),CO=zw(),AO=Uw(),_O=Gw(),OO=Yw();rr.hack(_5),rr.hack(O5),rr.hack(E5),rr.hack(T5),M.hack(P5),M.hack(D5),M.hack(I5),M.hack(q5),M.hack(R5),M.hack(M5),M.hack(B5),M.hack(F5),M.hack(N5),M.hack(L5),M.hack($5),M.hack(j5),M.hack(z5),M.hack(V5),M.hack(U5),M.hack(W5),M.hack(G5),M.hack(H5),M.hack(Y5),M.hack(Q5),M.hack(J5),M.hack(X5),M.hack(K5),M.hack(Z5),M.hack(eO),M.hack(tO),M.hack(rO),M.hack(iO),M.hack(nO),M.hack(sO),M.hack(aO),M.hack(oO),M.hack(lO),M.hack(uO),M.hack(fO),M.hack(cO),M.hack(pO),M.hack(dO),M.hack(hO),M.hack(mO),M.hack(gO),M.hack(yO),M.hack(wO),M.hack(bO),Le.hack(vO),Le.hack(xO),Le.hack(kO),Le.hack(SO),Le.hack(CO),Le.hack(AO),Le.hack(_O),Le.hack(OO);var tu=new Map,si=class{constructor(e,t,r={}){this.data=e,this.browsers=t,this.options=r,[this.add,this.remove]=this.preprocess(this.select(this.data)),this.transition=new k5(this),this.processor=new S5(this)}cleaner(){if(this.cleanerCache)return this.cleanerCache;if(!this.browsers.selected.length)return this;{let e=new eu(this.browsers.data,[]);this.cleanerCache=new si(this.data,e,this.options)}return this.cleanerCache}select(e){let t={add:{},remove:{}};for(let r in e){let n=e[r],a=n.browsers.map((u=>{let c=u.split(" ");return{browser:`${c[0]} ${c[1]}`,note:c[2]}})),s=a.filter((u=>u.note)).map((u=>`${this.browsers.prefix(u.browser)} ${u.note}`));s=ir.uniq(s),a=a.filter((u=>this.browsers.isSelected(u.browser))).map((u=>{let c=this.browsers.prefix(u.browser);return u.note?`${c} ${u.note}`:c})),a=this.sort(ir.uniq(a)),"no-2009"===this.options.flexbox&&(a=a.filter((u=>!u.includes("2009"))));let o=n.browsers.map((u=>this.browsers.prefix(u)));n.mistakes&&(o=o.concat(n.mistakes)),o=o.concat(s),o=ir.uniq(o),a.length?(t.add[r]=a,a.length!a.includes(u))))):t.remove[r]=o}return t}sort(e){return e.sort(((t,r)=>{let n=ir.removeNote(t).length,a=ir.removeNote(r).length;return n===a?r.length-t.length:a-n}))}preprocess(e){let t={selectors:[],"@supports":new C5(si,this)};for(let n in e.add){let a=e.add[n];if("@keyframes"===n||"@viewport"===n)t[n]=new A5(n,a,this);else if("@resolution"===n)t[n]=new Jw(n,a,this);else if(this.data[n].selector)t.selectors.push(rr.load(n,a,this));else{let s=this.data[n].props;if(s){let o=Le.load(n,a,this);for(let u of s)t[u]||(t[u]={values:[]}),t[u].values.push(o)}else{let o=t[n]&&t[n].values||[];t[n]=M.load(n,a,this),t[n].values=o}}}let r={selectors:[]};for(let n in e.remove){let a=e.remove[n];if(this.data[n].selector){let s=rr.load(n,a);for(let o of a)r.selectors.push(s.old(o))}else if("@keyframes"===n||"@viewport"===n)for(let s of a){r[`@${s}${n.slice(1)}`]={remove:!0}}else if("@resolution"===n)r[n]=new Jw(n,a,this);else{let s=this.data[n].props;if(s){let o=Le.load(n,[],this);for(let u of a){let c=o.old(u);if(c)for(let f of s)r[f]||(r[f]={}),r[f].values||(r[f].values=[]),r[f].values.push(c)}}else for(let o of a){let u=this.decl(n).old(n,o);if("align-self"===n){let c=t[n]&&t[n].prefixes;if(c){if("-webkit- 2009"===o&&c.includes("-webkit-"))continue;if("-webkit-"===o&&c.includes("-webkit- 2009"))continue}}for(let c of u)r[c]||(r[c]={}),r[c].remove=!0}}}return[t,r]}decl(e){return tu.has(e)||tu.set(e,M.load(e)),tu.get(e)}unprefixed(e){let t=this.normalize(Qw.unprefixed(e));return"flex-direction"===t&&(t="flex-flow"),t}normalize(e){return this.decl(e).normalize(e)}prefixed(e,t){return e=Qw.unprefixed(e),this.decl(e).prefixed(e,t)}values(e,t){let r=this[e],n=r["*"]&&r["*"].values,a=r[t]&&r[t].values;return n&&a?ir.uniq(n.concat(a)):n||a||[]}group(e){let t=e.parent,r=t.index(e),{length:n}=t.nodes,a=this.unprefixed(e.prop),s=(o,u)=>{for(r+=o;r>=0&&rs(-1,o),down:o=>s(1,o)}}};Xw.exports=si})),eb=v(((Z4,Zw)=>{l(),Zw.exports={"backdrop-filter":{feature:"css-backdrop-filter",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},element:{props:["background","background-image","border-image","mask","list-style","list-style-image","content","mask-image"],feature:"css-element-function",browsers:["firefox 114"]},"user-select":{mistakes:["-khtml-"],feature:"user-select-none",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},"background-clip":{feature:"background-clip-text",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},hyphens:{feature:"css-hyphens",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},fill:{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"fill-available":{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},stretch:{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["firefox 114"]},"fit-content":{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["firefox 114"]},"text-decoration-style":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-color":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-line":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-skip":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-skip-ink":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-size-adjust":{feature:"text-size-adjust",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"mask-clip":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-composite":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-image":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-origin":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-repeat":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-repeat":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-source":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},mask:{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-position":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-size":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-outset":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-width":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-slice":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"clip-path":{feature:"css-clip-path",browsers:["samsung 21"]},"box-decoration-break":{feature:"css-boxdecorationbreak",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","opera 99","safari 16.5","samsung 21"]},appearance:{feature:"css-appearance",browsers:["samsung 21"]},"image-set":{props:["background","background-image","border-image","cursor","mask","mask-image","list-style","list-style-image","content"],feature:"css-image-set",browsers:["and_uc 15.5","chrome 109","samsung 21"]},"cross-fade":{props:["background","background-image","border-image","mask","list-style","list-style-image","content","mask-image"],feature:"css-cross-fade",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},isolate:{props:["unicode-bidi"],feature:"css-unicode-bidi",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},"color-adjust":{feature:"css-color-adjust",browsers:["chrome 109","chrome 113","chrome 114","edge 114","opera 99"]}}})),rb=v(((eq,tb)=>{l(),tb.exports={}})),ab=v(((tq,sb)=>{l();var EO=Wo(),{agents:TO}=($n(),Ln),ru=ym(),PO=pt(),DO=Kw(),IO=eb(),qO=rb(),ib={browsers:TO,prefixes:IO},nb="\n Replace Autoprefixer `browsers` option to Browserslist config.\n Use `browserslist` key in `package.json` or `.browserslistrc` file.\n\n Using `browsers` option can cause errors. Browserslist config can\n be used for Babel, Autoprefixer, postcss-normalize and other tools.\n\n If you really need to use option, rename it to `overrideBrowserslist`.\n\n Learn more at:\n https://github.com/browserslist/browserslist#readme\n https://twitter.com/browserslist\n\n";var iu=new Map;function nr(...i){let e;if(1===i.length&&function(i){return"[object Object]"===Object.prototype.toString.apply(i)}(i[0])?(e=i[0],i=void 0):0===i.length||1===i.length&&!i[0]?i=void 0:i.length<=2&&(Array.isArray(i[0])||!i[0])?(e=i[1],i=i[0]):"object"==typeof i[i.length-1]&&(e=i.pop()),e||(e={}),e.browser)throw new Error("Change `browser` option to `overrideBrowserslist` in Autoprefixer");if(e.browserslist)throw new Error("Change `browserslist` option to `overrideBrowserslist` in Autoprefixer");e.overrideBrowserslist?i=e.overrideBrowserslist:e.browsers&&("undefined"!=typeof console&&console.warn&&(ru.red?console.warn(ru.red(nb.replace(/`[^`]+`/g,(n=>ru.yellow(n.slice(1,-1)))))):console.warn(nb)),i=e.browsers);let t={ignoreUnknownVersions:e.ignoreUnknownVersions,stats:e.stats,env:e.env};function r(n){let a=ib,s=new PO(a.browsers,i,n,t),o=s.selected.join(", ")+JSON.stringify(e);return iu.has(o)||iu.set(o,new DO(a.prefixes,s,e)),iu.get(o)}return{postcssPlugin:"autoprefixer",prepare(n){let a=r({from:n.opts.from,env:e.env});return{OnceExit(s){(function(i,e){0!==e.browsers.selected.length&&(e.add.selectors.length>0||Object.keys(e.add).length>2||i.warn("Autoprefixer target browsers do not need any prefixes.You do not need Autoprefixer anymore.\nCheck your Browserslist config to be sure that your targets are set up correctly.\n\n Learn more at:\n https://github.com/postcss/autoprefixer#readme\n https://github.com/browserslist/browserslist#readme\n\n"))})(n,a),!1!==e.remove&&a.processor.remove(s,n),!1!==e.add&&a.processor.add(s,n)}}},info:n=>((n=n||{}).from=n.from||h.cwd(),qO(r(n))),options:e,browsers:i}}sb.exports=nr,nr.postcss=!0,nr.data=ib,nr.defaults=EO.defaults,nr.info=()=>nr().info()})),ob={};Ae(ob,{default:()=>BO});var BO,lb=C((()=>{l(),BO=[]})),fb={};Ae(fb,{default:()=>FO});var ub,FO,cb=C((()=>{l(),hi(),ub=K(bi()),FO=Ze(ub.default.theme)})),db={};Ae(db,{default:()=>NO});var pb,NO,hb=C((()=>{l(),hi(),pb=K(bi()),NO=Ze(pb.default)}));l();var LO=Je(mm()),$O=Je(ge()),jO=Je(ab()),zO=Je((lb(),ob)),VO=Je((cb(),fb)),UO=Je((hb(),db)),WO=Je((Zn(),ku)),GO=Je((wo(),yo)),HO=Je((hs(),tf));function Je(i){return i&&i.__esModule?i:{default:i}}console.warn("cdn.tailwindcss.com should not be used in production. To use Tailwind CSS in production, install it as a PostCSS plugin or use the Tailwind CLI: https://tailwindcss.com/docs/installation");var xt,au,Hn="tailwind",nu="text/tailwindcss",mb="/template.html",gb=!0,yb=0,su=new Set,wb="",bb=(i=!1)=>({get:(e,t)=>i&&"config"!==t||"object"!=typeof e[t]||null===e[t]?e[t]:new Proxy(e[t],bb()),set:(e,t,r)=>(e[t]=r,(!i||"config"===t)&&ou(!0),!0)});function vb(i){au.observe(i,{attributes:!0,attributeFilter:["type"],characterData:!0,subtree:!0,childList:!0})}async function ou(i=!1){i&&(yb++,su.clear());let e="";for(let r of document.querySelectorAll(`style[type="${nu}"]`))e+=r.textContent;let t=new Set;for(let r of document.querySelectorAll("[class]"))for(let n of r.classList)su.has(n)||t.add(n);if(document.body&&(gb||t.size>0||e!==wb||!xt||!xt.isConnected)){for(let n of t)su.add(n);gb=!1,wb=e,self[mb]=Array.from(t).join(" ");let{css:r}=await(0,$O.default)([(0,LO.default)({...window[Hn].config,_hash:yb,content:[mb],plugins:[...zO.default,...Array.isArray(window[Hn].config.plugins)?window[Hn].config.plugins:[]]}),(0,jO.default)({remove:!1})]).process(`@tailwind base;@tailwind components;@tailwind utilities;${e}`);(!xt||!xt.isConnected)&&(xt=document.createElement("style"),document.head.append(xt)),xt.textContent=r}}window[Hn]=new Proxy({config:{},defaultTheme:VO.default,defaultConfig:UO.default,colors:WO.default,plugin:GO.default,resolveConfig:HO.default},bb(!0)),new MutationObserver((async i=>{let e=!1;if(!au){au=new MutationObserver((async()=>await ou(!0)));for(let t of document.querySelectorAll(`style[type="${nu}"]`))vb(t)}for(let t of i)for(let r of t.addedNodes)1===r.nodeType&&"STYLE"===r.tagName&&r.getAttribute("type")===nu&&(vb(r),e=!0);await ou(e)})).observe(document.documentElement,{attributes:!0,attributeFilter:["class"],childList:!0,subtree:!0})})(); +/*! https://mths.be/cssesc v3.0.0 by @mathias */ \ No newline at end of file diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..920576413e41f0df33ae10ab69238cb4321eb1c2 GIT binary patch literal 4286 zcmeHLOHUI~6dv8WF)?u`l)k~*AS{e4jloBe5^WShd=X$L5n@~!2xt&7MveXeY&1p^ z6=N#8G^~6imeO4d3ls<~OIftqG{^IuW}4|ZRS~DNVaVz2+{gEw*FBe8McKlCHk*P^ zWn#Oc>{JxR%femCK^FAO!(%(P6{OI?^IZ0=Ubj8S@`>dK3z;n68UF)I3yaFVXfmgf zO<$Q4cE7iPTh-?ybHg9%d!<_|xhrk!Cf_>p%l*{F4d3l-c-nmUzSbKYX9h=P5Q5 zrFwrIIqg;CsM$rKldbe+VL^Dp568(@=aI3#OBaP>bu~?AI@)9|)?h6#fCWrot32h} z68_i>HSFC}%tQFOzpt0p*1l0TlcB+Zt722=M382A?#T7w;#~0yuZ?kkfgkp7j2}AJ zdYts&{yo7=r&DzPY=`K8c)%av#XPh4f!oM-O}&m3;vJu*rb7or2dz)d;s*y}3(h!m zeqY z%@oJmFY$)G$bHl#Jg8BqRj660UF)qsz(cJpSAUbq1joO$mb$qXw{lIMpG%4k`VU~C zrmL~h?h~W$a{lm{VRZiBjM3(~x*pg#n>Kp>Xz}zsc>kRZ7+dcem2b1P?0@h-o{1*M s#>zVYxN!%v$_Kdn;SOlk{ZqXIqs5)L60yJ?A9wvA?*8iU09Lg>0Y)JDOaK4? literal 0 HcmV?d00001 diff --git a/frontend/public/favicon.png b/frontend/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..2dab5365010b5c3bbd0a5a0133be5106d95528d0 GIT binary patch literal 3624 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 OfU$wOezmSk?Ee7*nu<;U literal 0 HcmV?d00001 diff --git a/frontend/public/fonts/PlusJakartaSans.ttf b/frontend/public/fonts/PlusJakartaSans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bdd498505bc2000b995f4978fa539968a0ed5fbe GIT binary patch literal 176144 zcmeFa2Yi&p);~Vw*-hE>o)DHzNJ1bXWOq}k>GV$MEhHfXLK0I11OW?(tnv=vZNQJMD5v;C^$>4dcZhLE6z zRW+q0SKiy-g1l&icoj`AnOUo?B^y9L7WB62lIi8I2mFGtOuGm%-&FdR1myPPf(m%Q=2(Qk zpt-3-hY9B>PeQ(YCK+iUWY;6Nk8Lh(4loVU9s+14 zOt|8w$L0w*y1t>VM!3wJQqkbT`ACXr=xjY%FP(Ep4vHRDq399s6J}vT1;B-p5ah#i zM#Yo{@-CcjMJurZM<}N#J?Ulwlne!b0#7}l4ncV$$dNF;V7>~|Tlv*kZ_vRPyFuVd zU)`kRNg~Y?VH>}dgf!=niL(uO*ucI6k!atOOqE{%Ewd4NyTG#u_8klx(MwpA09rUf z8b};rBK?#TQrS>aMJ>ox0Es4vB#RV~L8zrEGQR{lLLQafB=UsN5Hw*TUm_0*=OOZ^ z?4B|YvfQbc8;!RtCy^RPeL$_#Q^M)Tu!@!`enBD>I$FddS`$r!TL`%kx=25LYxYL( zjgBqe+pIg|zfRh1-Q9k7zi)c)?fGrbZzmn_JK#Jp`TL~rhc-1ec{hbLwQY)PN^EN1 zG^}ZKQ`HaIKL!8P|L3%y3x7%Z#raG3Uy6R|caR+nIhb@X`(V+pX-Bpl`R+*55qiXQ z#QR9dkv2yXk90eF;%M{Hu%j_Y6OR3MEZ|t-@sQ&Y$2%R*I}vyy?BwZ_J|_cChMe+0 z6>uu(RPd>gQ<0|gdf2zajlczmT`zITn%_(p8KNC^x#h>B#Yu-XY-;)^>@Gt^)?59|(7{4G8WnO8$&C z?uRy4gj!D|5%|!yc^2;~eQ2naOxcTa=8KXKf}OL6q)U6aa5_ZV3t*=hGdaCp!ugUq z0&aOw1!NiYAB{Sy{WC~L)Hptoghp(n5&&~q8W zVFhdg^ip;$^o498^y}I6&~IcxK^(%k!_ZcXgXZ< z1r5EAY}Do}J0-E&cx7kAPaCA{oD^t2%B~Ry->&Q?(wVPNb~8!gb;|BZ0{A3l_af1} zNZGx~Ms~HbTSzJ!qU=6yc3&DxQ4_zB9)|+6q1>M>Hy~fUxkt1Fo%+I&{w+P{(#E>H^Q|a%nFP=4Q~Eh z+(v-Xzzf%E&`v`PbtsEm#L)nJ9b8MKtsbE@0&XPr7sQKHmm;Lv3s4L~sKS3AgsI0Q zayS&K8m=Op4e(n}I+ITL>Je6*46On76sSu0PeK0ckkU?MAbMIqG7SDIfwKXsK{ySt z4TWtoY%>sY9dcn)6na^f%h*II*^ruQm?EDx&`*)HLs9bm01rf31g(3>qMS;lYd!R2 z;D*DjlW7yN+lU=06w2n7vNPi~Qd5FfRwDCMLM9<+BAqh;i*(q45%K1d!P4Go;V z!E{f#C{YoL1N}{?l-~{MY~Mx>&fh9KA{FJxccV;s-8uE`Ky0Zb6LsDNRHD_@;HyGu zjgcwI2HpwVxZf!$qX&o_yT|1o_As=^zEE9U;apsL&kWJX>$$aMq(RhDElOPUJbmnF zDObHsi+1|Q;RqU0UsI8zQk04qQyO7Tft%Tv+*y)zZU;y{5$dQ#ea}sPV!3%ILWX}AjqQ)Ew3|KL7t?2WFA-0 zr|3rdEj>U_unsI$=5Z6-#tAngkAcWzTb^)69zCr-)(~s7)n<*ecCe;cGpwDhdDec` z(bngkpmeNUd939jASo2-YR~=r`Li>BRZ(?`n6S8N~ zo&|eW7<7ATzwz4h1Y8sL`0epS(>eruUjqyHBYdyyvFv_vcjWF+z>n-+wHtfH-Eo9` z{R_;1-KMX<{u;Z^ov#_bb|O7HumAFcFM55^)3dW|xx0WnMX#kx*@uFPr|}G|Dtqxh zydS@rtMsEy-p?Nv_;Y`JDR2++HT-e@B!8N(<8 z5ayHGbJ~lV*o_G2Wo14OJKVGl+D7eDZHKl?cQLgH@9#n%Ia(WvetoL&+q2nV`=__rt#f; zyLJcvH}A&Z)spxQZ8_hmwd3>oRodNJ2LFOD(^l|#ygT2_tNAou!|%hYj}b2tiB(}Z zi9*lpLONpB$iiqi3G>EOl7zMW6X>g}$ZOC4PQPts<_=}I<^UB=4TWOfysuC-$G*r#j*dzWqD{%jEsC!zF8 z>?+bp7`=*E=^Z4N-b32bdr2F5CrO}7NjtiXbf=q03VoPl(^p9@eV=rqtH}VmgY=?X z$uPQ`45nX^ar755hJH`xuuw9S1(Gs)nq0wxNi{uAO0esg&#Ytt_8jr#2G*Y3#5$21 zSu*(tbCBCuS8^xoMeb$;$X%>2xt~oWFRvBVJCH!Hbc8iYalW7Ztx`TC++ES zl0!F>9`s$3O4pDPbT1hX9>7@oBdKC0ax+UOx3X+WM6 zUngDZ29ig&5C?sdq|vn`ojyl0=<~!$pC%2=m((&Z@;Iv{PqI4l0IMJmu}bnVn@S#G z)5wEt3VE6}khSb`@+_M{o?|n~GpvyuW*?E`>~nIOeMu?XLpl4Fn!tZ)X1iz{Z%fHpn7>i{N)}8fX)7h06 zn{H#v*rV(v_6)Wg)*G{RJBsxi$rU1z%8wA}QV=>^kUrVmX2HtjS0YW6m_H>a6%%>B$G z&C|`Z%nQu7nU|R#HLo+jY5te_3-ey{FXq!8ULK(yF&@btnI8Eb13kugRCv^T%=5U> z<1UX?9#43@gbN$LB|1 zyYDRDhkXC-yU+Jm-)29HUzlHvUq`=eze2yke&hTq{Tlq{`EB(3&~Jy|e!oNh#NWq1 z!avSG)j!9-pZ_@jM*pk)Z}Pv(f0h3e{vY}8@&C#HWPnFNa6p@Yq=3wT{D6T0V*)Ay z>I3El+!%0Izykr>0!{{c1O^AT2}}yi49pK47&s=dBCtMiUf_*^cLhEW_*CF4f$s!< z61X$)yTHRiG{`q7GAKUC9#j-m9&}mIl|k1B-4V1lXmilkpxr?~2Av2t2L}aPgF6Ig z1osOb8C(`z8$2iYwcwvZ93j&}W`tZ5a!bg4ArFT<6Y^@vJ0Ty3d>OJoHJ z3>y+QE^JCzec0Tv>%*3WEe~50wk~Xa*n44H!@dq{3OgFk!hORd!rO*-3hxr$Gkj?H z`0&c`hVXgeH-z62z9Rgw@aMzd41YiT^YGo_KZGBP;1T{2ts>e*I3v18^o|%7F(G1V zL}SGKh#MpBj93}*c*F~l$&p!+mqk7h`Bdb~k#9$S8u?Y^_fc_CsZq62bE2+`x-06t zRtc@fw5n)T-)e5F>su{pwY=36tzK!hsntiVcC^~p>PWOHIv~1LbV9T}x@&aL=poVL zqNhaHN6(ACG5W6P2cn;hekpom^as(~qxVMt9DTC2xpiRc=+^C8J6d;Z-K+J`*0;7^ z*ZMtcgmoC!u&b<3SYNchW!+-^!upN%C+mqe<~BiXtZh29$!L?;rhl7}ZA#l*-)4E6 zSK54MGuztR(ri6!eQd*RlWf&k-!8N*#tQyL+eX{Rwl8h_ZHH{lF&4RwPl@RqQy4Qi zW^7DFOkK>CF^giB#4N{}eqGF)G4IE0i`f%%FqXvn#D>SVjV+8F9XmJn-q=TD---Ps z_N&+fZ9Uq?we8flbK4PZOWR)7c0t?Q+AeGRXxr!7zR`Ab+t1qWYWsbhS6utJ0db?^ z%HnF`X2&gzyDe^M+|zNJ;&#WkiO-B55nmc#6F*z-6#ffeV247sX5s@IW*apoRmC0d1mr8$u}q8ll)-vQ^_wUzn%PH^3IOdjy*e$ z>v&VgM?0?T_-4oVJAU4AcgG((9!udVekqYDaVecrhNnzPxhduDlm}CuPI)C|Q_4pv zJ5u(g985Xg$+J^%Cu^tnozgnxbn4e>WT(hjbzsq0eLr@oiEHTCP%rqrW$X7{y6*xTAu?Ai7L`#}3>`(*oN z_Brlo{}*0Id-oZ|<_F(-HWIisBM z&Qxa?XOVNTbF8z%S?9dcxyX6DbGh>|=L^oaoF6#1JNG(&cAiW#rv;`(r?pFSq;*T{ zl{PeOd|G8%L)yHwyVD*>dot~%w2kRr>BZ?Q)BlxzJj0n$o-r@u)r^lbwalQ*?wJjl zi!--m`D9tMW@bH~wIl1t?5ONP+11%=viE17=v>@+ap%`Mzt{Otm$qHHcWLOdy30#l zwXT_6OS{%}UE1~iuKT;S={B@mdAFy#eben=ch)_qdu(?{_q^^yx=-p}*Zu15&voC> zy{Sj*9-VvC_jshoi#g_;&N=xx{c?(P#^+Sz)aJ~}xjN^@oF(V|mghX1voYtZoS$-8 zZdh)c+!49A&{+ldcD!>*WLlW$Mvr4eM9fh`uO+h+2@8nU-XUdJGJkczHj&Q=r^k075!f9_g#O# z{+a!U_rJRTy8hqxKR6&^z~BM12i!hj?SO3qP7jP6m^iS@zySj*2F@FJ&%nn9zCLj4 zz@GJ~VOYw4wJ5T{-m8p>GWRYUs&fal@t#`>?pAxUu;9;s=Uf zDc)MVzxdSf(BYki_a6T6hz=tPMob(rd&FHM){fXRV*g0f$dr*IMlKln?8uKt{xr&W zRMM#4qbf#SH|ot%AB{RN+GBLc=)}?Kqw_}(8a;k=-ROm*?;HK}=r>1yG5VJ=zGLFY z*vI6L88l|xnA$PdjJb8p$}wxl{Bz9Sv6iu!W5z6@(P{j25T3`XdGMlEKEOsLza#vWAqDrRS^T;H{@RkM72 z%dvi5?)t9LZ79|M_+xJ&Y)yoNUFVy>t7fwEeSO)(XMB^ehy7!9HE7PKe&6pJ?CXuM zk==cs?_KPd^=~Cx2~L2}|KB#>W^c3S*$ZcU&x6o*U4h@}_(-O7IN zt7Yw3e-`??s`hvAy;v=)2Ul0<#Y(SZ##hVw;nQ^=CO+Ms&cvtNMF@h*Lw*l{Q)GO< zmu>?$4jh_s?m5KxC2;Hhf^ReG^DbGZcd^y%AvWj|^qblFzDL_~F*_~`Hdjq3hHp^uemcquf zcG#m&U|Fman*e_LIUjq5&0~`qqbL+#3STyU+LgYC_CL7F>+2gE) z-NELv8gO?Ao5F5_em=K}Y@!}BOVCZqz}s{}i7!fi@l1RI4$^SZfOXS6nXmq7fm$Fq zp*_GuoGf%ej9I~hh*6)7$xrjsKZ$c{-r_?nP7TZq@i8!z#ix0&Bo@c+ryk(X{R7`f z&B8X~j)qzDVxFw6W@dr-7HS$RXPdy+Xpl4W3z(a403V34C)tZ^J-Y&&j}7c;7K~AU zKD$MJm6*exh12}_bUrEIYIV`ViBY64U=2?mx43bN{Hvi4PS z=WFEp&E(b1WYPQNt}W#H56HtGlB>3om$#BHw~+_GAlGas3wM$`zarP{CX05H8}~}@ zG7_?s{0jleD@X5)es}Pe;U7=@^zu(4^acUA0~{dND{-FMI3 zW82g1n}gr<_-4>I^?R|h+H)P-BebxJF_g%5yw!hQ< z?EORbkNj@ufqe%~9WWhecc90C;RhPNKmL8;_rsgEG=(;$Hf1&CHVtYT+%&wY;fLZM zcm3G)$9_K+|2XNV9Y2-)-2Iog4j#hQrTByGaCs^9V4q(%{hIgdgkP%<*$%}XN<1|1 zun%2jtn@`aP;I+?WpZ&%&{ZKj^k1jJLYk$&9S&+ z3CG$W8+5Gr*v#Xnj??4pxHqmk*>Tb77hH7;KM{2z=0yC7PA58_$U8Ckt zcKZ0~)2Gd+15Zccnv-wyFU=k4cl1|WXtJ}f**^9iJIGG4(`eS77;*wI(M6*ZCt^}e zMd$0va`{Kvx7rac)zr$o#eBfyh{sWnQyyjyi$|d6&t9jzf_?V;oboaIbnyMjx0Sy~ z;O0Pc@PV*T!PxmJqA7ZtHP9M_0}8R&rbn8+gF`Yhv$8Ra$<_BUv$%r9)|2&s3GTS$ z2m`$Gt{96ff4Aaa5Q|XY|BvLpB=16seM?4~QpiYQLPaZcr1pq{%V7RZisz6#R*3Ya zBYn{%i?@dP7une^qu30_IMbxP9Baj8-*&0`rid zh4~ZAc=#Ql!-mD3LF1f^NF!RoMC4XS(xhl<$9m(tbd_UxT#GCWDOhu&V$I zw?AtxMEPE%GWmcOm!vPKUM0nB1Jd$Wn6IjEF4p`{;>Ebax1Fn4G4fh-k*XI7!+GPG zsw>J%s3FSyKlp#OJox7%Qz&*H>5qHPnHN;|fi7Iq30kSNu`q9es`!6b;oLb=D0V0E z@K>vDC{vee-p9Hb>J0af;I34QJK0P6!2BF|4d%yyn?Y}v^m}phOZsnq5AMg{ZayoV9e};yZ!gS1m>WU&3(ms(lf8)J zqvkiMsd<;n?%({qvcE=Q#~Qu=*-E8dq#t3(d`LUavHKee?oq(&Y9`#3f_pC9b)~1F ziF!BdYA|j}D8+9g{m-XldG~55M~pu$b#MuG9*gihLczRXm?KH9tA0g4_@7nn5uZ?J z#H)1!Ec)_#(oUM9udc^kiXkZDu~0KeyR+==;NDKTN5LMY+ne{%u~0LhhM+#iLg{{! zVNX^xO`vIly%lbuBwwszW3Xnr7I!an6#+AX&IWv^%gw+E)2fuaTMWuQ?-Es4&>QN~ z{0>E2e}%gAG+$aeO_;A+pR4FT%-0caDi8VjFN5iuxEXbp;+`ZD>&{621IFhfsA`PW z@1QLoMVlUud}95Hby^Hwo%N#i=nErB8Y>|wxXY4)do5{LtAHCol5oEz2li~>+d&Ca zC_7XVR60~1R4!CEsP4EoW2a%bu{DLn(aW$VzXfU*`bas<0=&Dp7Pqv7{UYhe*5*<^ zjD+%WP*0IKJ{#s%(w5i4d=KU)q#eH>`z4BaQxNZCi1#^!{~6S)i1$I5^ANAN9R~Zw z(vdaTBtqdH6XE-@e-UrBtZ);ofDTaNC-7EMLH)=eX*x&+dlGOIDR-$~5&y5~-$Dsm zD6)rSp$%0CgcBdp4c>rt z(qxjUeU7!d*qf_8Gs-?w?3-CXv|X{cxE!z-+HNJn#y*wZ54RU!7vsz|BpG+HlI5P^ zXPA4GdW0lva}n;NP>(*mSTq+h6u%nR=1rQ;5pgKfqbAk3@L{~Jj;;8bDq z12C5${D(+Ks3@KWGYxIh3DZf^_!N=^Rn6z3zJ=;b;)P;e@jmKpxC_;pB;Zyl%;ukA z#-9l{pF+>7_YhvU|?fb_iLRWl6Q)IKczsD2?vJlVzC>KHaK}p&^Afo0t&6}7tX5D6cf2z{%U!%KRbkQqvH)+I z`d~LRhz!LWq)}uZxr$s%t|M<_KlM-Y9%j@J$VcQ8@)=E~X*7#=#ck38ylv@62hm}; zRXUbV#Ldzvw2Ic!20D|@q4V*kU=h8E-bx>!579^Hqx3QQ1m1@{L!YJV=nM2E`U-uG zzCqulZ_&5uJM^FQJ^C;D0sV|_qyMHm>DTldyp}mYf1p2uNqq#2=p>wj*>SRvi8He9 zI2S9xiAf)v)(&Dr*>Ie@j>Y-dB-|3%h?AAg>|g9d_6gg{zF<4pS8O-i%l5PH*^lfO zc8DEiC)jD6e&Ee6UfzW9C~oDkc$v}xZ&Ms7mj$E{W!{$z!27siWCY#-%*QK$1@iX) zyJRzYpKKu?l8?!!xbJVL=`@>mqq($@_QnnR!L*o;!V8cRT8_K)({Zo9k2vgX`XYUqzDi%mt@{mlL9>aziyOM{(=B*Iu$6v6 zchIlsZn_um3BIR4(qHHyFy`Ci+^!Q&g3@tD*cGQ~;1081tS`Dr#)$3I*<;fBj^}90qc^Y&wr#L$9MZ z(pzvQ*czvL*WtwNA2{Q>9VeUj;Jki0Tg83xA}Ewc^42_t$Mg2QBex^A)Jrc@7J;)& zt9o5=Gj1_2!CCdaxCOJ~cXOnV36wl_R&7r}k1IoNr{L8@6<+?;k~+K+yPV7GON2ql0U>B!CSe<_!E2`?xerOU*WIuH~2sKd;DLxpZ>WPrbTE`TC`@>Y+9@q zrzL912+4|fHuv#mxWE4(Uhb@xxBK-sOE2Rs&+GhMysE*?e!f);#SQ#OtrcDewb5em zN~oRI!Ict96ENl)=|Wp-K7w(W@_xJ+X%+LQp63u{YIy0+St(x(nBtzk;S+DziH3JR z-Gzdyxb3u@c4Vb$WRKHFcDyBT8NuaY8Ceb*jO}E_IT%Vi!p%rQcce_8B}9sa4I}dA1 z;Y;_)(2pYdT)bYwYbJg*zlLAS7x0C6TOi(0h}RTdHQX7{x@$eO94%MN)AF?fti7G+&d6CjzmiGc>yov zMR?QDi}%JGx4z;%*g5qak2e?Xv@9*#6)TnHBuY`QRneOLpeSF4JcglsDb{wPW`!=^ zMnWQjfTb>BSN>7oy{J<;9ibiAN~ei>v?P`spSfPT3)1Ntm&7W6B%E1_SdT?>7Ib{*DW*K0Q+42D-r zN5v?Gao7v}J6MzsMq#~&ic|p)TrgZ(#)R!yH@--oBoAUXnThpQKfEiCK<^7doAT7= zA@pkOgBj8{A9{@oGY8O>+7%KrTVfEtHdER(w2&~g8*lAaz_YYlpkJlk482)pLmgm)T>?tzRFGJFmnK20BNS*u+BYbYBGIm+F|`|n)aJ^OgpGG;ab8j zZ9CqKZqeSw>(N)W=e4J`HQIxC8F#m~Si4DEsLj`|Kq{-XDR@0KRvWGj!h5R%j4@ew zXO)cJZo@ngg3-bg@3cetu821Z!SG=B0k`DbU!T@ZoZh^b71;lp6>zEf*S1((*reXh3Sn|KsT6PsOPRQ zgHhY)aabXA*1BLL@GRC3Z^B%QmBf1NtRBS<;28``2=2xS>`&}hw<@z z3Tl5L>_hoDUV#~C0qjH25+-9lx)%1qd<-wg>~sz6gZOB)l9}KMn)pCI3a{yA@T*`S zz(?{)n8)VB-k*=)C79Lb!QKz^@kF$(xkyneBmy{KCS!e^0y7aS31N*;mm24c;_k+t?S-KVw^=f6P9C{sCT- zGu%o07xaIEFU4^G?j7iFv5nBzvp1pR-Z1o)Y!&qT*>dRjv8B-OX7@n91E-Y?{RLwa zZscK1V>dC3W4Ng}3Ho^O(ij`V#zG&-MnNxT!=VqsIR?Z1$wAQjvHs9|vp&#^SWoEr ztN?lr%Z1*Jb%)-WVeN@~b(zqeEDd@pvqSI5QlNLh-8F`rmx<8ZFdOt})*5;wi^6Pn zjCnvm3~nQ%2f;gL^e6f=^d|ZP^zY~a=-+||$mkyW4fI{~Yv^CnozS<_e?$Kq^5z)* zlzxV_?#+;(a4XCkuxq*r=0fbB7Qwt4JE?17&c&W;KFlkyyP5;@a_qBa!mPuNs{v*; z_FlCxr(zdY1#>d?V^d&G!p^J==6LMUCc+$z-P%}~!?AB033CW`aKm5@z+P?;%s$xF zLG}DjTQj9r{fftRsfs7H<4Q4#l4J6^9Zb%V$560Su(O7abLYWBp970w}CGHDO zhfI&lAk(7}a%EW4Ri=#q* zmpAo+{H_2RL_=uUCGsXdrYGnr`Wr(N!2MHkQO+CpxczWhE(rH&#cSF)-d*l>*I>k7 zi+iRo;s!k4Z)oRVdk#mRABpi`G{%at7)Qoqj1haAmDtyaUCp^W8nJ)58S3}+Jlhj zWe=$~6%uN>9Vho_P8-; zrw+W)Mh^lPN%ko4l4K79M@jZL@RiU5NfNkig`!X5gsKA%2nLeC{zz=s=* zbL~s ztI0`l5Z8c*_&B(TPvVU9De%so0r%`#aP+h2I`HD22Uqb$a425_FYOgF1^l$vAU$9! zc#P}8W!wNh<3?~AH-XpqF1U@G!EbyY9LFu-Iev&8(#PPnVI&5>4Wlx6ZWy7#cl#1j zd^&?0`IQ{KyI{ZdJx<475hFVIaTwj{e#mh6jtH4I-;)9{_CumVrI-o8r^Bp34~ZE9 zdxT@?8z;cKIR);`Z{Xix;KwM!F^-rpl6YV&@gmbOo>(xV_+m`)$EXsBaU~cdODM*c zaID`j?_dpwISAY?%tyF2AB!Fp2MG@1#y#dKa0SJjH5I%;%wXUTVm1Sh5HlP2gqY>9 zGt3rq9yo?#{;LMx5VIl66Eh<#B-6z_$$F6$tT)!8MPl3}HQ=%KW&KD`)}Kj)^N9JGO%!uA`g<9JbT8caufWTKN;Z{ThL;Id zc+F6a_Xf3ik5z~FG7YQ|ci?B>4c9D4!03(Jj(yl1$ecKiR|)fQEB`92ny+Ek;{N?Y zjIWDuWB&%cpTdd&_d)xL^#OQTSSx_@hjjzEe^^6cwJp{Y{n#?{IZhuNz;j%|RzlLo zD!i(Bkj%g<7IC|OH6$Lafi#Ooym)v5F9M#z$o&k)?q@N2uaj$({usqy!Z`j4M)KG2 z7Viz58e#+G&x$n5Ox4q7lH4(jqCw0dOJ>S zv1S4fR;-@}vt42}1#T=>R^Z5Dl?ARWR$SOSVD$y=ELLLR&|*~vF6|M>Lph3l1=efq zBxciD>=c=e3){bm)f~9DjLZQ?8**jH72FK@4W8UfN|=!=KX7*SmEcMqOs-U`!)M4) z+fTq#j|;5!GDlktsXpw=eDf;anlyO7cy6IUoh&E`7Pr<=5>AK$IM9PoijI{ zZ$6mHr(q8^9ddALcrCw-*YW!Ea);)g&2hrYWHh)=iy(LB1~P_>c8k z1onwfk#YQKvX4I_<$*lM*OB$)O-SImAF`2NAor=$q%fR4Md0))3TOS%n9W|oeD(@v zwAa9ed_(ZVAaCR?DRE>IWRJWH&gN$DHs1$#a|`&JA3~bZ$NUq>S^5kTKMq0K(&ykt zAHkmW3%(uFIdv`?;)G%2mT}f344Q|A+h8j zWO*EdJdz_qG6~MY{BiDOC68g({{TOZv!qr01bGWGOiq#OAg$9ET$UjI8_tfKNdOod zYc)!q#giPaX_|@TX=cp>{1s2)qj{0>nm3uKSx9%t=giT0a#)+ZO`ap`$n)d{NFxd$ zYqUV}I=FOiXu;s|c$0^*KMU2uNL%c~yuedi2#K;cV26ASIJ%Ko{p=@KYf)qac(c*q z&RVrLIDKLtC^?UAd`C#$EFeE&=lQc%L|)W-5}VeG+@kd+Fk1`z`iyEyKT&X&(p1cGOMx*4a%miQM3T?JF z2V9uB+B|SKuF|g7uF8?SMeX@E3%Dzjn(6q z?FI)xs&S3FE96Ktgf^d<`(K^UWPJLmFZAsnr`MAX1;C8doGS{`)tGzH)r7KnDC)J*xZZ4GBG#5%@J(YGv zm8Wu@uX2&EQk$=GoiB5XRHu0to)NvhFi&MT&&Y6wN1@7?OubzNX;1Sg)HA9_ohPGC zwPzKXd!~q^aouoQddg%CS>>VD>^ss_-vNS6~L<)Ot-SsnfIV$hGupNvU#6GxwIBSnocT z-m>N;XzneG!lE0}DWG?YXXzkw;z-SsiH9j2{d$*Gme-ZnSJt~|kd{J~z(VQh-`kZz zH=_JpohUz7I$C;H)RkOb?oJ?MvKQv-F{$XKFEkI`mq%~C0r)6W_ugBteII2?M|1Cn z%Br$*i*D#neT3n(^l8axfSX++&3$!JX{gF{X2>G2J2NEC9Z(ecndW}7aLxT(T_Dx& z%+vazB=nka%EpS`q8hbRHfnoen%-;e`MKr+dJqHLf=El(eW%G@0%{|aJmsFn3#%*4 z1Koz10@c9^R73@;qZOzi3iKcxdN)pWI8^U)8XZ%0-26h*z$rC#)p|q)D!GM5Xo{*p zb??Gd-+@yaG04<4POmCyl$l1Y6?zPG@3HC1ce;!#6=R}hV0~3d{S>z`DNTi(rVlR; zN4|NmUNu9MA&D(Rq@kSj4m_l#(~4B5+S66drOTSrE6ZV*-6<8O^sMJEUA4}1+0G0~ zy%#&|vKLE7JA{?!?KoXFcBgr$TiP>J8E0fzhPE^^nHGm#)klUZ=L}UA8OlAoP#cE6 zY#!!T{W=Yjs!BgYl}$#WxmYCLZYg$^g56xK_i5db=z!vuR7eMvlr-6f9riTo=vRE6 zK3ynj?1hCojivbP?pi3z76f{)Fcpi&;w^PoRKTiEUD(p8?S(~ZKr7M*G`$82RSguX zo-T*H!hF533-jH>R5ehj4>!KW?hP;K49MjRWvI6Wn7U)J8cCGtqO=!gs+44^loYGs zMVXS)R4k@cZ>dWMbFn_&=!Sb}ssu9i5-^X@o9~F0n(-Q8l)rg|EM?267NlM{S*n{A zrI|-b65Y8-^<}4OOGR1c(K2}N(XJs_r_6SkOZ0R~LqSeUNlW{2vpd}EPIHOgu5?2N zVrj91RHB8u>LIyBdZpzSNn&?Eb|`dviBaTvnL0&YrW?5qC~_Sz$nA>U?oKWNgIodz zxl@rl-N_|jkW0WIPgmsW?&K0M$R*$mC~2u9NqV+}<7@{NL#~P;*F6RuP%-F$L0+II zD7U~ZK{{ZNON>FT3NzQeFm=Enml%UQTZNwO9=Ze!atRpZd5S#Gom>J2xdbFRhJRUA z!gP@vfFw5nr(cQD10>;@pyN!?NQ!C(xh-L%UAZ>{9Y7Or8M)l-XtyqRBS_U$a^0JX z4j8#>X(~v&Bp0T8?j&I3PLY?Wp+=cHxf|f{aRZzlC2G7;rXtrJ1px9E!0BBgMj}bn zVs*4w6@l#M{*tz(%bx{1&Vo^Pa!`|jyV+58E_WoiTn4C*GpX5@(w2_lUFsT!%w?{5 z4O@r;MO`FJEQ&JBawX`r=wXQno#t|V+|do?q)+taXHN9?Lc8iEcD*kIl((codeo!K zQv*|;`|y*mdQ851zsOguE8l%6$yef*}?8+cbY5on$!*H(b8gvx0VVFaI;Io zvmNx&#_rJjBTPvpMk;K;^t$q{Xesg*tEBTk6INq^Lp1=0`|zRzPV*G$Q8%306s+33 zgeF~GHX|TaRSx$dQwN-uDQ>xRv&(=2&T=rqQ`O{fpFVWJX|9w$eUaCy^7?umvQ)P8 zcXOrQrF27&rm`gs(m}Og*#yy;^ohZ*(!B-S_3q?Q-N~WP^InxH;+8t@@B6uIt`N~t zR6*qH1!1XlHEI=HzH0UPdXy?1(ihU9`|_w%jar#{_?4=uDpNX|EA{o5Zb&CqIn_K> zM@mC3no=E3)o+}#H>fE~2OO5EEu|CSW|yIy?cgv^lkPI*b`>m4>F6`9qOQEWx~inQ ztg_Txr6)rgPIHy4A&YKEjGG;3y{qVkLZ3MRVy`I|%EHuRlZ{^ooLUtcgqP4H&Sg_A zN>8Z0&`79UcwwczB{y;^c`m!tJY72JhKeyw4Wwx;Jr!G9 zy{DS1b$V$y&DDC*=!PD6iydgaXmmrN&n}uYwFyjf-@faBksj5j(%k!$4j2?_#7t{x zBS>+}@QE@~6_D><0XkrWq1tzv-oEvflnyv8)vgKE?q+xL^6CmtD48|G;xyODZmd^I zf$Ba5s*(y+bOnlaP>`v5lALp~-Owps7)T7#IMgeG%qZqQ3eH>8sc$ey95&kQ}iDs(mc+STwY$A)ax8M5{AQ)yI- zf((71q8wEYGxQvq8}%ee!)a-hS(Hw0cBi>fpQLm{pMGQ$OK*ERU{I*KD|Bz2 zI^gtebnp8?XFxJn=Q_zyQ7d}igDL4`-%|i6)a0&AMWH(iK&32GvgIx66vAr!N|GLt-s0b|ZRKL7DCqqytX#41IW-(b7h}W*BYFJVUk` z^DG&#Za8$qX_@8L8CvWPH+Rsqgc{&xm%*Lw;5ggC={L(ri1ctK=r|KpSwqFJQeCFVz02r;BG&<@d6p~*i*D%U++s(jUERwFS#_zRmS%${F99QDy?=>u z2XmVmd!6oMuMViKxegeis~RnGuTdQ^LYEk)`3hM}-dDJG6Z$xp?c|duOg2GHsFZq@ zOouaD@`F>Ix!E39l-JdyG)y+*JWd!5GX&(>Fa?W3SUe`zG}cM85@#a7*H_LI_>X9*1rdaY#B5hosZvkXAhoNhsqGHc?I(s%1sMO!Go+B;6Dr znG4-sZ<&mcmEA`MsQ~FeHB0i;aYiL4L6~xeg{g;|nkDN2u$)L?O1>#fxi*3+dGIjh zWQrZMem;?!C*jo8Jbg}2%~RoJs_-&Zc$q4^Och?H3NKUn*N}ven0TIaWurgd}e7?$@H?C8PzG`*>K=xjpg+Xl{M8am*Cp+y2_d|ad3;XxiU!= zc9xsin&J7iWm02RRe6IX@zz)AB22$YC8g6^K+BX_wNudW1j6Kttg<&@;LoV!4sD*yDC3V>Pluy><^_O6sY|(n;SizOIpeG5i1sx#ZY310` zD*u7Xp@l?GK&FZ?voNTlu@c#wF80C7Q?Sda#hWC<3+f8cx|2z#7BUffYN1oEPaPSl zdNwmsGdxQ4{FtX#R%18><>BYpZ7A9lB_Q zb$(@)msggR8(=_nO+)!*jU`ovgFm*xC=|@WI=zqNR45=sAS|^**6LZy z&IB_WuWa}=XBPy2+-DOfu!xY`tSX-v3RlBsSc5Bbmha7vJ-p=i+ z&)8L8%hRu_IP%ocl%8K?7E7tBav4>+emBLDo}cM8S&SQHlWJz_m|VL@LtSM_h004h z?(RrfB_v(H&EiN`5vAwp1A4mZXzBSfL8(q$v=P+`6DrlsZg;ciyV+%D2W_Tu%Y;46 zOD>B_Yo<@~lIsv*Q+T_e6={ZnhZhbjPv9K`_ZHwc_gqmVO1v?@8mZX`$8v)$aWzmo-t zqa7E$up9KkZqN(66L;ms%M5SaZ682%*(ZKV_KA4SC?tg7ArWX8;ia|p_-E#6<#p90 zYI;fCG`wciF+$hhcM!ryZh;tJPuwaLu6R@0x+!W4;jJd&EqHX)+Njl0cmLPvi=yTd z5~b_aQDv|Xi|TWcdgrKAQ2xGdiwcV}NBtM*kw+q%2#MSg`7!hjk!zu^id_6Z?6N2l zr5$-8y*jcia#&kOY{;v$L zQ_gjXtd2k}=s(?lF?z(+5p@V{QUs);DZN)jci1mgPlG}Ib)*X6|Gxg0q#+=} zY{U|NBpj_hd`I}l(EkqmhVZor`9INDh2M=3E=FGzJ{SLzR~9}xd{FrRggr;Zg|vyd z{uBG(nda2+1f(!59I~7)q=%gfI|vaNyTi8qY5m=>*Wvd<`jcVzhus`@E%XLA{pPU$ za~Eauf90UJic2qtvM}_%FkSBx)*1E=VYZ9Zy(RqxbbXcyJrVkI=q{;$_O0G8tV6V*!8&n+VEAFTF43fiQj>c z?a()etcUBlE;ogUdQ`f|HOljUQ4d)Wawk&jt}hHhEr*<|*NNH>nG}K*U5IY~Z*%Dt z(mf-khlIa%;qxTyBk@_FA0c2!EipnqBr#TCawX+01_n|!MVuNi9VABZ z;ACp>2ppIKNS-0nC8jT=PN$KrNXJg_@Vp_pl#xV*5qv$7&e1OTXTY2aX}I4?+k4P; zn(Fx?ZQr@zo&tt+3@`Ke$sbK{`*PFWz7MqRVOW9o zX1XY?5-xR7mI}(e?V#)-F?YKtBPCo9SdwdP-U6n5n*+4flCm%UeenLg zg-GGsEeK393A7LoGf7>NzpqOa{9;^3A?v4qn#|07>ufzjj4lCb-@ZnUlviJ1#Z zy?p1o!k8p6kGn9ByD&8pGscA(avV7P|QM7 zErIE#q+bz^@P94T6;M;5CPMWgl;%J|HZ9~|Q5pteM`o1FDX4?MBV5RS)yHfICEi`*P@dgUs+@XBSjdM>5-=p`2)vm8yd_=}Fl1FQ5+(6JB0L8XK26Zy z6*kC$GwLvTzJT9y!Gk5d-UYXo@UIAC0Ngn0i^x?OhrC=*wF2n{8b$&HB{d=TvM!gy z)<>kHOBFD_0z)O1t}ykrjvX)~LDE&0 zLl+;w@zU2e;j8m0z|j)^Rl-exiG=?lVNot|5|(SR&SDLyj}<>k{HuU7B>o-=KMuI9 zg!S;20!|Px^_KXX0LMuDF$vEBY;l9D0Q>@OLc+3wAIJZ~S;-~-Am#c3zs?C4K%C=z;V{l2J<}m1_~A1h{yfxt zq|M|%?_2onTz#?re=onkhr8JDFGS}acJqm0Y}Cj3>Pk=>c*Caw zH#Y?@Ip26?(4Au@b{u<-+xZ-l zF!k})Jto=q9l^Eew}YCWZowFRqIqNRRH!9l%oaa69xvAIhVH_N`RJ_vVbJ`M`Dgu! zaAp2BBK=~%5c%B*CG0BA?s3b$R~B3*{ejN-x$^sR@OXE>n4_xQ%SHOTP`E$}zwSR* zUl(&&V(>@<*NhdOOsA?J;V$5_f2c#(dea?$p|R#{{}+U@)B4+giNWLl_BhTLLD%3R z=X1VPH&J&+yL7b=QIF^O$$IY^+)vOOegv6O|I&U|yK$$Jc-3~Ax1s-v_AAAqx{xs}VM zhtT5V?0(;Z`D<-h7k4)5<6_Irpu-rS(7dtZa3e)VI0k%<>G*5Gy0*6{&y_R*i#|T$<0SlW}^Ry{v`U6TR&;>9^9F9g~IQAb=kZ{ z-;*0@I8_@4<7~^N{cS4tq&Rb7rqWn)4^@4M=j{%GN`M^LF+oq&5G@HVFC5 z?4SHNKhECcr}=N}eT`}w+XC)c$b3;y3_6uuNARFw$G>Mu7r~cfq?NQQ9-MUPDD~^4 zF8so`wBI1@MA|)|DH~x>|H1uYC-uU-LoEG9=9XNCoIKST11OM&djemCV zf^MM}=)U-W2XFkhgFo~@8VEfY|L@?9_7DmkErSH3Wwav!_?HI!9~SCccp1kN@t1)czpYgIO5t5#W)BgM)8_JqA+x zEs)Y5PfXzBcPCzGRg+*ZWef1vB#>zj`y#doG>~i$mmBe~I3~!ce}ec!BK_;c2dzT< zVJQS`lh)jXf7T8at&o`U52k)_M_YtFNdD6gS|sdY^51{ZE@6+7{|JQE3A>exe+fbx zg*{gOa}Zi8>>arHhat3D*i+=c4x#PB?trv+juxCr!XV|nD3 zB)sR~KMZquE?)6KYB~vl#PmC%LwY&%jeH|%#oy+eAmjWU{?7l$-g|(@Rb6ePXP=QZ zwk6w=RYsC!wUIRHZ8Vxu*T~YSjLJxEa<{Ru!8SIwY-8hIFvi%S1{^{XLm&x+UQA2q z2?UZ*LP-b-y@t>NDFn^jcddQq%$bpF`2PRD_dd^kE<&%yYt~tN?X~w>yYGX~sOxwu zHEKDYLM>OOpq9T6IUnN9)ls;a{BL-#-bbd7@cHkizvJ`ArjM1$xS{-Wyo*dkVbvRE zz#DmS*LW1><5lHK)WuZPMY>0QJl<`Vu4Hn(OoZp>qR!>vClzn+D8%O?{G?!IrWl_~ zus$S1}rC&wUYL4bz;{{G}X+Abl zV8veZv{(^~&(hx}67E&lUFGgir-2W;`ebS1#bmk^i()@0&FUOl|5JzXc^*90L~CyF%=6&4D*W~kK9jFbU|*ez z_eb2KWU|LjW?zkFU(L{bReGuPPwAP`C#5$^Ka?IQeNTEF`CAJ7&81}H%?h>fF|;1Q zNZ*^xo|ea+md~D+$DWo;t%{Oq@VBX&zkOi(0Ce)YMD{uhdtD-X-8lBTc(gp9DLL$W zG1UIR8%J>eKkoj=?f;Y58lNdvT@w?iT@x{Q7sxRYi+6#1UrfTA3-1z>@$Qa$#T2}`;};^1T0Id@ zJ|_~$=R_jj$ni&!L@k|2rnheh3%z+mq*AX=Or!psm<~^h!XB&%%A1%Qb182zzRma! z@N>x^$Oz6sn4%?RISe24K}#`hTCClr>zWgRK_&MX^iQN89?NiF^e&qF^AF0 zn9G>Qh;cCZZG_0BhjU4oMxRX|Bi&uF2vUzy8BO5a8WlzSs6%^TovG04O=T1GB1~mW zW1PmA&IrAfb)**%dI6yq5PAWj7Z7>@p%)N(0il<&F3Lm_C{1M@(%g$QRb?Mgm}X#< zh;?oy0sk_aJm9M`b<)VubSbdJbQ$9njE^!tMu?g(`{i~#Hy+RZL~)rq@Qs3}F($^- ze}tsV7_VS_l<_e_YRXxM3s?s)o};(;j^lsv{1Y_mhF zHKT*EhSACBVytE4(YvVU&kc-?jPx#QMKm+EFuECA8D}uIF}5?ZmZF0{v!az^z!FE#(qX0;{f9z<4nd`jI$Z%FwSKhVw}e~pK$@>LdHdmiy43FXd^Y0-#*K`_jGGuYGj3r#hjA<8HpX)q zw=?cw+{w6$aW~^0#=VUD822+CU_6iUAmjOrhZrwlJj{3@;}OQAjNf6ri1A{^OBgR@ zyqs#T_%0*Wbwymsc#QFTj8`#!pYdwOA29xq@kflu8Lwfymhs1o*D+qt_!GvTGX9M5 z2F4p1f6jOlFy6{|8{_SacQD?`co*Z{j3*fHVZ4{|KF0eQA7K0i<1ZN>WPFJ6 zVa7)o$=ek{-mZwp8Gpt2YsM!SpJeE=!1yBLON=iw z{*m!djIS{MnekP|zcBul@ioTR8Q)-hlkqLaw;A7Ie3$V(LUlRg3dYkJS2C_*JcIE} z#?_2#7}qkM#kh`fJ>%Jo8yGh-4l{0I+|0Oz@f^mjjN2H`W!%oVgK;P0F2>!Adl>gJ z?ql4~c!2Rd#tRq^6Po_U_;*6Y(20S6CauG0^(xx6WIDku(*4x>njXadKgki~d>sE= zrA$W)fE}%jnT%PC*^D`iR>m2O?TplJC`t!oCu0|5H=~!ahq0HjkFlT8$2h<^$T*X6 z7UOKjIgE1|hZyHE?q=M}_#?*SjMp$;%lKo)>lm+R{0ZYv8Gpuj1LKX1KWDs&@n*(b z7;j~~jq!HII~ea|yo>Q}#uJS9Fy6~}ALIRu4>10M@t2GbGCsukFykYPk2C&?Q2hT9 z>i@|I^&I@BK|Ig+|7x@nBTB>gjl$0uAXF7b!KgBt7^4`+F-9{^VT@ypXPnCT|LF** z{+OfTb&S_Da*L~Si>q>rt8$C0a*L~Si>q>rt8$C0!qbyhs_=9mJRJy62g1{V@N^(N z9SBbc!qb89bRaw(2u}yX(}D1GAUquiPX|6keGc_u#zz<*WqgeBamHUU{+jU##wQtn z!}t{A(~Q4m{2k-(8J}T%mJu}>X`vqq-)H=Q@k7SHF@D7OcgBwyKVkfo@iWHH8UMlf1>={D z|783ZYHAOR;8OJkDV2q)d zY>H)^#5kFsox-2v7~>hIGChGmCo(26CNrJJeTs?3eTs?3eTpfK=``+BOf>FOOxz-y zGMLUSvWZ({6Sv5w9Hw)NY|3T+JjQ&c+xT+&)jb_eaN3>kK`l%%>5G6=kyt4&hkBk4j}hb@Q(~d z1RkG+-RF!LDdRInt-x`N(Trxs@r)A~Co;w`#xhP~oXj|dF^(~waVld1VjJ=F~ zjQxy0#sS7b#+i(>7-uuiVVui2#5j*}H^%&mvX}8kOgYYY4dbT7R#$nfuJTx2?O{$H ztE)U#SNoabV;o@QvAW7*b(P2JDv#Aw9;>T7R#$nfuJTx2ozG7#U|h(!h;cFF62_&B z%NS2%TuydVS1_K=xRP-d;~9)+GOlJ^!?>35EXH+=>lx2x+`zbzahP!v<7UP!jOQ?J zW!%PiF5`B_9gI5}cQNi}+{3t+aUbJ;#siG!F&^Z6ozHjyQw}p;$dn_DM;X7vcoE~p zjF&K8%6J*$<&58Dyn^vc#$$}%W4wy-`;1pJ{($j^j6Y&L&Ug(Y&zoQzMV7yg@p?v% zBp62#og)dxQS_N33C2N{c_MR+^o9gKG}-of5-TH#%CCx zWqgkDdB#65zQFh*BlmjMm-+J_8UMui3ge#{UuFCY<6jwHV|<h)hr<>{w)}>H0u`Wf(Ew72&9n)h>d5JkW z@|)i0XFp`h-}u{)`19ZSGe)Yhk76W4v!|*OwFeD3?{!m^D*B9kBL(dDumCkHVCRSh zI*bQ_SGt58Ne~q$EDYb8_DBinDZsE6N&~!PWwxe)CM}G7@zamCBc!MB=DQ3{WhrMNB$l9Re$X9j4bka z-r)Z!-!Xu_kU-BXc3~G*TedkN+hmUsadSl6tQP;B?ghefWs3U2h~>lyY~HyEH#757 zruS5wz=j^?sP)Qy%5!7Twa%@otm77`K$)5WTc2()=L|w1T zyC^7+aufA^oqn;hJjAc3V~!eD8bkD`RGt5lApInIo$R?wgU@mLOLTdch0#NLU5>_S*6UBbka-xK&P|4#<2T3rNbcSGo61gcAJfr?tY{FOh4E8cPc|# zx@qb)hI9{$McAFJ)q|)+o&OwVLr8wqnL2%|k#2fcr*BhQl;>nEG~J9^I7LaIT9}=b z9k2a5s5Zu1Q5)4u{b!3E{sZD-f0q9bsFVq~Wy0$p@%sPk<%;{T_6>U^u!5&SSDYMU3?YaODbIcN7- zAAZ;|dv?c%Z#8svHN2&MP(I65H_wt1SJzvzVzbxV>hA6II9>JRv#o(I)R)vRm23ow zoHEr>-K5%)mc^W(Z_SC0PD)HpMiNfTWL4bMe_&Zn&9VdiJ=d35FN6x6NnO&ak?(e&B(ZVCWeeUeC*)^0?PKR?kUCU`E+dh)MNx4>| zr;%Q;z2v`u?p$IypzCsMQA{VF#-0(XE0OYsl^+}ER7a(}wb<=SWl5I4AC{h|B$1sd z?=Y~mFqs%O9{O_qb@S(6xBmL;=j>|t?3#VO`oV&qZrt#*h2E}%3l^N$g;XJBT#D&E z?8eDO?rfq!eV22&$)s@VoC<4A-l;du{(uwHw2G?HqcV?9aP@Y=ySs8 zN3gSp`4Ltx!Twe)U6VbSu6hsBF=3~W%$*5)jIncw;;m`SJf@41Pb0G_20b4CEfJZe zIzzdk`+Fz`2Wvk54vE);bzZOP(l)A#^G>Y*Mc)T>n;7X^uz!h4kfj^=Hz`e$9!N9D zp^`t3<(=%gVWnA@x0a)(O#hM~9kvdoPtp8VmS=pf$MD>x!RILVQ4}?$yvxGq6g4Fs zXF>GzL+O~K_67U~I@L(Yze<@sCVegRV!M#OTsI^?>pOEITTGL|6b*QfljTV zr0);2J4I7T--+G7dUorBLbBL zBT$VK(bO58C}U5PYO5(z5sS<=3QZLM5R0zv*|o@SGO61}9>@|iw)E7m=&}h>)W5c+ ze|Jtt+M@04{fAC>RW95g>sY$m8=oHMoob$J?%dc~JTTnhK6_S0S4*y=zohQWqqBN1 zSlt+`)w!tE6O6TbNc}e-SQsG zgiQb2qBCRJj#%f)@64HfbfpW8hRpS{!`)VQaqUyNo>!a$#le=t&+(vL^Y<&b{;@Tf zj(u;4D_d}{P_PB~g6SO^{W_g)l(PwY)rmh+&L-uU&To{n3HvC6@{MwavEO|xIm5Uw zC&+Jk!?g$oj-lDT6Nah25D%3V7D7tAl^?4-D^ zwGM}ZtpnPJcze7RIOG!-`+R=fsO7(1^p99XzyEf$zxYpm9o!}w55&V=1o(r`sIQM~ z4L(-p^^QCr_Atdh*aT@oxA_nh9d+RvtyNSHaSb3U^`BR<#?-ooxXp<8FXMY|&y=6B z4%7pHrZjp0y$D~nYB_Nr7tqccZ%-;(u|lM*Sm9AIG#UA^CzzrQocYQUN>SNG0}UCQ zMG9-e^r-cLf3PMbxsT~fi63oZA<=2fC8itrw*#9R~Sp1MiI~e=T}#R2TaKt;!u--XuRd z>fn21<)T07KBAL&iv9(lYC z<9sKoxjAXbH&vXo!vBXTQNPr`6TzT&g1FItW39hhtpCm%h#@{i6S~bW8vXgn3XX|5 z6YRKo7MhwI_9Qjaul{lACn9m=SzrEd(Y+M|{-gfG!p+fU(v`B=c2e}x7p0( z@lu0?4Al-9muFOzR$H&$N(aDoY>e&=&Ol8vUS*8lcPZ>j8~^1^#lJ5}!l6andg6arRdD>Ge>K}_fNMAA3XUAHVJj#7bEM30U-bUKVGr9gTN)dG=| z@2IZ9SP4TVj@L<|FEu+mH6=US|2cFL_53*{HQSGyP<8!U4RR^^9?{avRev7RTTKb- z9hhU_kB&NmYNS%%QEdUYiTY_yM;?u5F!m@BZBHTL_XnRG^i%kTN#r=?Bk-bSL0lJB zK`oI5f1U9|9+6@b7LPB@|8bQ6lT;MjYH`JgMcp~kKP-+;9NEv7XjSn%EJ3%1Kx4F^ zS~*ZVBF8_F3k^s%WZpf^=ka@|L4l*{Fr=L`a)B&?C^P4f?r}lupuQd~8LgdSI$D9Z z*e_5rVf0PPN=esSJIQ}YL3dQj2S2swlD-!08u?eKy_0lq@0gxz+8WXa7T5F%%+cCM z$$y0Et1h24kY=5@Ci}5L3jT%&Fs(k_xL6{hf(E zkGM6-SJD5fs&<=7tCqK_yQ4>rz+6{Et7m`xjcF zYQii9jR+=VD3GCwd-~2_Sy#96{J!8{_nN-q;=VO*`FAb4w?}8qI=afm6BI{R)p{%D zoZZrV_M8g*ZEnF|$|I-AUh*R~babe8lj{5wGj=o~52PZ3kvn4snmY7hS)>uA1d-;w|)QNAZ3%5qp z1uDaBu$82b&by?K&by>@-gR4%KS}yFg?n?O>eL41HG>Ul#4c^PKdcT?&q306>SaWA zhUTv&eUI{RNRENNTQ8%uurfWYe1d$Nq(1ONlVYLyDVlG$=yQZ)m&~Ag+8HB190|H& z@NYzsz~L?5?3TKvDCZAElmv3f{Ti9WFbf)TxZP-3p5c}J=Z4X}x}|myUDnR1N09R@ zrP@$Cd0rHQfY5X=rbSO4kKCJ=Wls*xiTSf8XD{2VMWxZvsnA;;cat_jd{bPtw{Ucr zlCzaPh}^L#5t@4o&Q@CEF{{U}L-UnF=~~y=cvkmqcU5#26m(YHrG8Mms;zBht^cp$ zti1N}^0qwWk@`xs8pAV#XdjdGxld~n^$E4vPoM9$QPM7v;x2hr6UKGrCwk0AUC}*S zo3M$r(m2$mZ;af+;{VqIG2xqQ%J;+p{|;GWdvq=A->iiN{TTEM6O+-g`$lb^8(QLR zbl&*Q+WcdnKQ+}};)ac>C0_~~Pr*EXsJzSxR+D9nBAeN9%io(Rk zgc5@favr!v`L*;xtpy@_57VE}=-NCb<=Mc$NvY)M6Un~`=kjDPC5~(aA0+wcZ*JFm zp(=6+DoF=*N3bVil)W$T*_g8T$uS!DfI_mV&v~uZ=WI1dC;E@|o{mxeeuc-!Yy)Fn z_oLO4y3YyI{YbCWeU3podagW!=EP{H4KbyZ>Scat7=`A}Mg>+w9ctski^U?>BE-y& zO}_Zfv~@idT?GxUgZ;DXPH&m9raR7)a(Y{_JGZW3%h3GBvtnx&IH&dWXS(v74RHmQ zwe9r_sw;h!>8))UuKcpDsn)d9x*HZ$qeNK~E}@sSk~_hil}2+Cz7|0bn2 zMCYg~`8VtIG|DN;PSP*XRx2Xq3@de-oVYOlL&{}b8j_#-EK<%|z$l2Q4Az;V{PB$RjHChnN(DwwxB{?E}u+dbF7A3-m10Kh)?i zFg=og3r?wz#lJ;aI41wFVO_*1e;C@5oJjfma1;Jm^7o<54DnN~lKQVw))@GSF7;o9 zv&)jdm29i?AEdW^AYB?=!B#r|LAqak41LyNK4~m{*5O{2kUliOB=y;g+fzdPM3?&P zrTJ~GtUooKMUj7WS@W{6-hJlrm!agl;V`*`8Aao6^@kxjBg=yJ_>}9#e@E39N&h;czO<@H75SF@Mte)T>B(<-Vrm-=@_&@)b#!{M(cThVrC7t1QnA%0WYU5?z+(2Hc(# zD*q7w{*(B}{xJWbUcZ#TQ#soppXgHlPGvYGpQE(o-({@tOqcw-^!lD=sPEBHhqubw zo@S`+pmHnCzQ;Q%r0jFFJaHUhx|Dqm=6XVTrIC;1H`;PF+gS34*^>M7l7G9w_N$pL z`L~npWhB@32PxUYo?uNtFEic$$;?mVKAGkJ1od;VdM%=uew3a9{j`vwu1D{(+ZfKQ#3rJa)SJeg3r|2%d&If%tCv9o1=(BI~Y@J|0OQ)@F1h z9kE5@Uxj;!$R3gW>u}FeFdvxN;~CHdsh$a)M!PBI^AG1gJ?*LaAO2(hAEv!1c8Ih5 zkBTP$Wmu%_@!zFcUfZ5M@%>?lx&i~(eZ)d$V&;PZUFD~+5FBbSW_3Jug1 zoD(@8v0nLkP_r=luu^WIQ%)rRDy%wbIRSr&z7}IorXxy1AD#aojY-Eycb(REkoq9% zY4Z1KJ0&C?wOga_RJsl6qDE=-ZPcrT9g>l+DrpD1L(n=b_UR;Jws^hx%0E}!QKO#W ztrKcQ(h(iTIE7XM_!SpPCp1b)iv~E#3yPl&0S)| z!CgJ4Gs(=mYj~hVTX}*D-01Vs((PpReY>wLx2OL3hwJRMrOv@JkE^nKYTFd|tkU`g zc5lq&`u9M*31O{5<|PsCV#Nl5hA{OQ+SK{}|sI@-g~bco}OW?ev|Tkex#L`A%BMPNDqh z)Uf;*sW0euy2xNBqDnhmWUv!arJZyt|IeWxz>lAv6*m8nwhCAwTmm2xAg zQf`nMtP$b$C8&4sTaq6t^Po;+*BAX;Lq0}7`-NI$$j_yEesT=?xm3?jF;iuJLR85s z^An;@F?~n3(`C9`GgGCVE;Gm_UMV+3mAq1}PSr|V*6+)6L**K(FPEo>$~9D9bZS_A zF;YYIW#6kIxkQ!v?t395H&kDAs=?0DQ3k5|wr+=2c3m!0rQB7#$A?Dx#Y~lU(5Z;! zBthCCNJWiMb2YhU8DF@D6Fo)KIE+s166hp5jIQyMbR(VONXQ=RY`We|m3pts9LpX$ zHOwAHYL=#VbkyF{LUM^JX9U#3cZck=3)EI;Cv`s!3zn5a_UAT>=*G?d?ACDU&*=);nRun%I#rV(^)^zE>2kLkH0EN%H5Wt>&sLrSEs_xBtgmr6*KZE6Vq|@#~PGQ?ASE)hQfNA78}hw z(qc}uIU741>K3%*sH%Uy z>X=ng?@MioYhB=Uug#s}oj9egzYx9H+t8a8E-|;Xr?j}&9_+zpr3d@1GhD*eTHLju zVq)r~+F50;qMY2uJePg)SsSKiRHnC~i(4?AJG;VE(N$Csw6^Iu`zCr=)YHOf4BdaF z7g1#e=KJXOTbe7OEYWTbInzqpyg74Po@l$NSlGTkJ=W`u&05pmb548vIlh|Nm6fw= zYUbMQb7Pz9Vz#PZ`hT8eZ|K@J;M?8htyxr8zpw^ax2Q(zXY&omncCdU=t*5#Bj?@p zt^Hfu+P3yr4YkF$B@Q|ql#atOkc58@#dh!Z`F3^XHWpZmYaEN}A-$$F&(;)-_-Z!i zR<6dcSMJvPl_7d`)F#be(?}!K4dTX(<8E1xK-FdB6P0_YV@n#Y4c5JEj>alSM)sZ=t_`3VnVcQv8Qc zp%d@)yYkeE$rgw#0b5JG4(cT{$3Vw=z)~$2Q6Ad6&)hcb-Iq^oQrGIa8Nz!jt%^Og zMjl)ws3|k?h>?8PG*(SEVQY-&Ygp+m>e$|A^|o0OMP{vUarN|ujJVEL-`=I}tgdZ+ zuzTg4TG!kv$54(aiY@YbB}axy13O_v#{1V&*7Nw zs$JkvC)JT3Dh(he+JsZJxHxU0R%|7gyy@DE3uV z&8`?X&OXnsg^bv)Jp%(fJGC(2$#BlKS1)R5SyC;-LD17E<(zL$nQGGPy`3jX)v>Jc zmnTinBYVzj1^ddiT-(+wKh^zB(y?~L-V;eDevG!tgLO8FTg^nlN9 zFiH=8N4i9Q_l4oP=%``6$7R$fL>=OOuGHreomWyxdURBf+G>z%LqCk_Z%BUdTY6^n zw_o5a0F5PNI+yC{NUBUHM6KYSv*f)@=ap2+Yot=YSMpw76|yH$C9jc6eId!a@52x; zQ6;Z|%CS%Ku5#-P0J- z;e@V3Bvtb6HsmeD8>FJn>vqG8bcd81q)HtQFVIut9+H&1tt^}>c|nbgX>=k^JC7pQ z(`+)P$-^kx`fQnuX5v@=mAT`K1}cNmtj?F#67ODE zd(gM5lTyY$I7rJlMa@w^uVM`K+(WE3yn8hDhv!-gWd}7*obIQ1imi_z1@4OYR z-U5@_ri!xK3a=mA9)gmz9ke6~j|Lxq?Q(wVInRZ}tfHTot9BuhQai&@T;JeJ2T0Hp z3^nN31dmRWDY!R8J0B>#&P6k(w#N;&R1Q|frmu6$mejolt-E`8uzHr=KC7DB_E&T2 zZF%{w{O+1_(5`oG_x7CIiH3gb$VmHH&7$0a<^}%`)c~pg7SxQ+w<#7(P>!LGh*0LR z*c73H|0|;gUNJp9>DZH}JDt|*ExbSaB&M)N+G5XheM=(JZ(8r29Hv2E%SGWTyyHHt zCPEALf0PS*^dC5`Zqa-!NPS^U>WgDirG!md)C!jnNtF^JsZs(KiNiFLIz&>X1S1vi z>=q=!9CbjsM~TyA5S?U|Am+G4y@2<0()MA1Bv)vZ+zl{2K1A>xy=OyEqNF;JP=jgP`#kmf1PNq zY|G1Qukb%YBNR>6IJsU!lkl`zUEGE}Kj-=fz3}dl_th^)VhriVQFPFDYjL7hD-yhj zrmQ>N7pY(Vg=eQlM{@_o0u?7Jq`oG+6GSngPfRa_Gfq^5=yK(8G+nMdYIJDQYS4sQYwRsy z4TE$kXEa^PVY;jl$}y~4(H#j?&U|p8*X#AFDX0nC*U^3IHfZ`w@Nli+mV&u9dav+m zHHP?v(geN>uohyHlA2fs=op=yn75 z@cG2O2NGW}aPJGCbp-upa0{KAPSbjr{xbOGT%puuRp4x*l+NqHXJ zUvQs9a-SJk!%_m^&StvgKJysKs08Pj#P{ILm$?J%hDs9b?FJ{TX9 zCC#X>@8GW*cqEX^9>TXTnDui9a251T642AJ$O8x1+udL7#Yuy9Q&pAPJ#qr43rut2 z7@CX&K@T#cTO<9fc`F?4RgZehNNkYvb)R6G{Hfw z$m*~o-ogQYRM9SIk&o!V1YKo%x<;SFrG&IZ3)8Wrj4~a*92!syrlz7boGfDu&T8@Q zRkYNT3X}<+!m=Zy^wofeo(X)#-%aH5;B9!=TKs%VySH^h zbYs1`e`J57n{oit#Zaq*oiJqk^?`SJ2SJEVG2TEAe5LVYUdu>_oI2FGj za0ZOeg1zMpI}}D;ny_b4gCn0sB?vto`8do?&m&JVZS2VidmegFM4*k`K_QE|7z}DW zWGE3Cw<*Wc4l-^N)o6!Es7JF?sNsK|d@2a~k;&xr2Q6B<3`*!gSz;<)ln_F7t*gh6i$_ ztysJ_XeOvZHP_UQ(PANcMUw1CTFly%y0JSM)*p^do?G3tA}J|xc>}g7d#w$&{H9#` zV{6P+Q&vtXulBe^lRKh^Z0IWoQ%<2BOSChU&Xm({uZlZ$KF9ymK@z|7+vzu?X^Mgk zvf4?BV9!!MRw#SS=kcS4J~KbhQKpr0iW92NoSJ9xujIKAT}{3Hi!5WLDwQ7t3|RM{WbsU$<^K zgSrr1lf(Q(mvTZq{ap1$>c>cZkPGy&xgO>6%?C11h!<+7PM7>F$G|^_>XB}lBb8DL zQG?oGZGl%vdU1AEQl(`yUbX<%2{qep<27L}9qN5)w%wKyvIH?|a29A&CLM9nL_VJ@N%jMp~E*b_VFmzF`!F@w1nFBqVJcjiOa{m-DsLsWi(u z1RG4D5dbs`PLJ`uQKOc+I(v3>b#CwL+uqT=-7A;5YUWl~&&4v=0G9YVcMS~g?)26y zuB*d3;=;N*?ZiB#!F{dentwgOb%WE^=~zVw?in(0qi5DkB}lw$X^veb8JM-#sI3NG z8*1;Z{B7tNp6S<~xm1@lL^JRj^)dq$v+5f4a(xasq&fD2_=CC(v5!ezR?XI_rUSZ! zHDglGnlE{wH`jh?k>Kq|krr7OToFbtF~iNe;m!u!eMBv(EV~=bN0cz- z^9E=x>7(;Wbc_ij@+rAFpF!#D(~^6eHg9LFRnbu!^wj`kiR};7DH{7}rMpur1(I+= zr|t>vfe54S)^tk?E3w1M9%yb-3Q;dt!GG}HTE&XCnNO9T+KURsi)Z?aPn^V+sO>ws zJHZ;9B74p52wRgUQ;d_f(rBen9=988cTDF!*FZg2r|xK_9HN#*MI(o$m`y=jV~i0N zbMO+Y$n6$(I!dY?y3{7t^Mczgf>qDCq$?>oseM89SlcWHc4s9gcQ2896@UmbqDS9o zA;V36TbU?t&x_n&F}tI}lOGm@zLuLSsE6&s9*SJKhr(ir?}(ecOC&xaLhIhp?uj1S zP4Tc{3&oS_>s$5R6WC7Se^{8q_fTMV3n^ZJ6y>Zxt%K-o%1P72)R(?xV~j+v@_b{e zGM^vl`P64fPnzZ_^J%)>f6pm1O0md=T>+Y9$9ls-YnJ)L;MTeTH%@S~VVnr$^ zIteq^6BBx!IpuX8HDzd0eu=lU)qg_k#SX}M5A@!lR7P@R+?-el#y)Kfw#4GlB7suO5Av)ltwuE{-r*S+$&keD3J+DZHsJNFzr*cZn zdvr{yl(6Yxk{jZc5+bQmf}~=EO%_4qkP`F}Hpa8mo0AeG)dpVV7E~$W(3?n&=iWOE zx!AWSNF89Rln|n>HROV+G*=m>gFdg;5F)Sa02DH1eRQ7&|&|t!l_aRNex*? z=7Om-4i3{n9|wo&z*M{sWloq5NA99NX$ekO{2Fz-SoZPc?L>5Qr{P$wcAY70@zPJ# zntL~;HCtv@RkUUm#r1Z#Rt#3Pt+%u!ddo^{((@+Ib9YtFiS3(_QCU}>pPoH6DmkgA zs@#*`(VS6gFSAa|ii=81@YR%fY-9)0f$i{PSxYvu9hgczFiAZ-HbkX)H%Z;}Wr#}c zi==MWsA-fpoq9n-h&Lo*_@9y*7sh*tduh@-Z|f4)u9Up3VY~+o)F5wu6sYh6JOL{Y z1y(~3KD}&-*S59Mo1Nt`hpj#* zyS|{%op*(L$Bbo;irIB7OXCx#E$whGb9j7ix6hMPpP%o_%55zj=|lS2n6KznFQ+vu zw5JYodAe){>tKit+9kC~7!{;-_AO7%De!LD5@*XEpFBP`BYIY!sPvZRlaanqpK9F~>R0%@f3#o;AM^;&aQps1T7jKT*sGVb{yh-|P z;dGooKB``h+8}%V7xYtY$Od%{~ny8$C9jQ9(kW8URWA{q?xI9(0r3U zzSS#Iu!Kf4Oe60bQ^d*u>f~6bu2Wl<)gZm1qGqeNW-0C>Z5BTN-Nh}rxh=)Q>%Xme zsRMRm%{h8J#HAISeL-hZe9H8P!|9Y$ray8LI?2K4kmp&#rRdZ!8KbFE!f-N`LZk$Z z8X-Ya8+59aufAib7JtsuEoX9zj0Lyc(4xFjYzjQd_C) zGzp=Zn^x33NhcXZ-@~Ko5MA0cICB$TE*NuV>6+-JqEjRCqVY17#-TDVdwDmKv?ozX z51a&$RGnAm1yot9u{-An+79N3I%YhMZN{xz4g^3$70*x1;U3yo~01Ub_uOP8opf<`4Bm{&^B zshY>in!AB_*F{DGjT%w+BdJot{xPGGMvahQpz<7ql(3U$JXr^(KFm4Rs3d`@(t8Y4 zI&q=-->y(BVXBm%QCSD#l@fx~G&RW(OAh07F-HNknW0#M6>gphY1OGxMvzMJ8mCM& zEzao<#Sx-PEi@`?K~yQhK;<%$me9)+I#78^35Jqms+3@$^308tu$||AWqHzEhm@dE zSqGv@37{f2!~nk1T14$g`m4{)x^3F+v;TlFP$XVLqsUyQsoiDa`g}N7Z?QV$F$9 z>#%2YT0`Y|=o(RfsmcGe)?X?fd2PnxDk>kc5SJVBgebIrH`m>uVnRI*H|=17fKu|Kd}u1`|qNUD@8snW_M zfi#YeTE%;cBjv6g*7Y^WjigGsk{T|T_K6?TEs;Wzh&4vQJr%9T_pmw2VzZPUo>X@|nk;gzUwxRHWi4IpfEC&i4(m}7;)kkc%=Ao7=n!YtSCltTv@|3}XIhe{r&neyo1T}Q zmRVfYRTuD>atdjV8)-g_GWjS(koSB)BVV_r9 zJI@ZR8?v|O)aB;Y=H%4o<<{kpz2L*Dm-i2{Hz(K=lJf8-GQ5ZE%Q;{A$ES$bQ{Kj0 z0WJ&j7Utxr2gv{7dM3KnxS0Ikj`u5tZZ*aYi=v&F^#1SP<7WscmKRj1{$3kMoyeL)AMohB}L8boR8xH4atQ zEN(37o8Ry(?aV7fzH*Qzif+TX|au~Ju}ucd5U|= zE4qt|yDQ3jijik{1m9~PjWU;4HT7ef?1*^6f4h7IAl6h{pkFoW1)a&k{uwGm3MV)k zrJa(ZHT&RfbmT&6)hZTXm`}PmNYajb~aRs_5t^XPJ2&ragW{JTU69*&#SXq z>+|Zvy+o73#y%S?3Hs}uDO<^ocO>1FT+8fI@#XAfp5DeOD%IBYg^sA)<8G zq4Rg`I{*Bga~Cfj!f))8_ucoz6ZhTsr1zTde)stC?|%0h@>j}7Ch7)8AKGdgs&nmA zM_+r2-hqNQG-^C4-{`l^Pd9pVyv;51;yNeISl;Mf?y|O3-zQd8z0*F_QE2en;{JK{ z?6;N3M>5j>c7B`fT-q_U#j>cO!dnE3Ov;Fv@`(S0xc;6A?iIDo>%PHn$#CUJYiz&0 z#DA4Iy<=#|f5}8)Pl@zf2lPzAv)|rt^PS5&rZy!lYb@(3F77HV?~iY(!F6u8Wfo;* zEhuka-Kgp7^qk6XF-NJUA>By7HJ!?DOWRgACgi98e#uB2>e{sCl?_d6W|Vpg3OuDH z9R-CRcH7?GG29llOLJS4xf}LMLfRp}T`A`I_lXz$Kh^!V5&BIV?YG?g=|SvU`)x_v zSxvpIqRNHC=yeMmwdHDSZ}Zx=a=PZaTw;zhJKLFq8_=>{NC6ZGAnqQI4xBm4W|=-Qs6xIWTCz zY=bep(RCHN@BXpMTU6w&v=dg9*zKjoRaIu^Y0X%1s9Dz1vdq~!*w!}SYo9R_C58E1 zf>{-LUg&h+F|oYKzXadq!o{1AV%k_OE(KLH*3&m;=1sLun^rWw#a!5s-Oyc@ zwfx?ity#r6@#&danTgqzX|47GxAjaIPAFF7p$n;D{fFjD^c7id$epyIBUs>f*#{;y z#gwGy6c<@1TE@q%z1hD;xY}(q%+4}PdS*dRPJUEW&aTF~U8$noX=|Z-%Q2@c&VY3G zQoF4+w-fPUf zHO`Wh+eBymNJFI6inNlb=cSdQ6NeiN@{J{VXOTP4GJW%$qp`8+lkyvK^4x{f3k#=b z6cw6tn{C<6`NvL7j2UmO&o5}sbr)r36&7Y?7LlFNM-pW?*-ieJK>a$C{nlTLsW*ug zO-+7GgqhIm`Hz^5vYm!j9V5V?F4Ft3|1rGH)a#bhP|qGInUPys5S5YB?Q(Tnr$^b! z^IA)@i_ontD9ldH%1Xtr*;;2UterG9rY5Vx-BOwDh?zR6w#ZtS)0m%;kx#$B%Ce+p zW~L@nSCmVz66_EYKAD9@_ry$`U~R}N zXv%}_t*V*f**67Ewt6>I4h^forGHClQ8FL{-4pTe!+Rj@{x`XPB$LYP-| z8vF`5pN&%1{3@u;|7pJx?*D;f$#TTq$(n`!H~dO;p2D+4U^(K>FiOItpz7Gg55$9m zew56J1+!CVX-q}fT426PF`I_OM?8y}6!?$HF~;}vwC{8A{rSj4zUegW z`7`+Wc`BL~P5!Jgo}aHhkGg2OmA{9Uoc;!Wem?DEr{^KxJ;w8kgU{pptH*eLvGzRL z5z}@2{pp(gZ7hGW+RyUS@%?(#o_y0P?fW+Edqf0^N`ZfiXVs~QN}2j72ABApWPl}_ z7FSmNlpy+|Lui?PSo)Z7ddeIC*Z}|UI&{-4P zGPyagv~F5iMn-i^Q-MhMG6PLlQy#{LYiy}`g$-qy<>~3klSF1~=3nBcr(U`|4gJ4YWmBiYHrJ{Vv)1|65#%vYw6^7tF4PxBkIO z7wn1|dnCrz_f5xOsjJGAS5)XJE$t{Q&NWrJ$_8r6YirBPYHQ1^rDZuerKRJGI!mj% z;}Ryf+PF0?EO1Xwj7P_`v&datTvT0MR9qcEcd4i-C!5Eo@Kdgbr|1JDRSJStfTmf@pjTGAD`y;;e_>Fpwih=2R4dRyPp{C%Sg}n zRqeBmFDqO(%iWLq$4_InPu?H^CKJo>L5jE$lE48;PlJO`#F8xTlP5+qV@8(1g^jH4&9lp#g1T-5RElcc_SjP1mm)9%Edo} z@_kwMX?cy)Yk~>a`2K=BdsuvD*+eAmO3Ur6(vw!tU$+i9rk$G4a$Wg8=a}lji^@G> z2Gs*6bh*Ewo&Y@Xp^hETTo{iekTM-p}8za}PRpNGW zJK7&5&oH{Q&?@khik_04bi6KoT>xk)EiLV zlaZ>;X>(#JJIQG=Tgx6>lusNS3t$a2Y?^ zAhZ~Es(k!wH`_5tLa&j3txl^s0bi_gZ9USo^@z*odLF-_&pppKJ^z^JWzS>yPyP`T zUZ%LH1`c7(>tV8*1-%nh49@l6veo4J`bo-#8u+95xhW30xDIc(335L|-26_eS^it* ziova>+OMC`x#Pk86Xxz#J`g_><+4Pwle)#?4?J{7T({^2{W9?VOj!Y`#P_k0@467* z$IN$Qkk8~Y@Tni`e4vxOn|N*30eOD{U$p7QzfmsmZ=nmYk z()uUa0L^c=c+}&eS-OhAWy+gqGq74|krSwPzJ=a$T^;^wvR74Cp4EDM-hv;sdVe%H z^LQu8O2jk2)}CR9v&pyfnG>t*_Npd&@T{)mgR_6w)%v3a^NwSggVNa~5>UdU(s{mr z=FEO~r`OwgWd57G_q;K0#haTpy?Hw2sUmQ{NHCQn&v)U}45hnC`IjamJY9O+?He5Q z9XXwzUNP^DJ-grJ^GS(;`;~vOj1xf_f@b~U!I&|2P;-LXhIWOV1T`%u8WTd%=Hz5^ zQZ&B=Olk3DW~ZlTXZl)lummO4l(dvIRai4}j`X%Xl3m~_$bPh?*JI0iFuOK6p+4)O z%mONZq$_eb-FrFRX~=(}OqcJEvN`f=ocZ}qM~ze<87HABJvst`U}Bw?laZ^6)Rfdz zRn5)F$#M5fE&AO@JO!B#Wz{Dn*JeMMW%Km5JjzNu(!y_=nuc@>Io=m* zUs`g&@6eN5w;nNV#_EcPtUQD#viON#1U1D8clm@oNfAG7>((cac+?L(UtdU1APwa$ ze&RuXqC(k-I>cp*EWwb@QFUnJs5*paeyu$dUY2?t+89}fe0X=Xp}o`EC||}jfd+4@ zb$oHox>h@y18XU&)3kN89r){t%!I!Ru=;)>J*G-zeKADDG8J>>?fyC6#DqC zy)q+B&DZ{@Q;@zcL4F`@R1=SiH930gY7RBD?@BeElz&uHPzzlc`4IF`?qYq6+W4dj zhO{NG3A{9d2d|!@mg$guXg6Ky7Xk4!#s+9D5Vh@Qi=FZAW5?znJ9Y(Q|AX3pRQ}VI zdqn_iFVUta5%(h`{@=5XgD6WE?7@AJ1nlp!<9Epldkad{->dbgO*XdtAG}>_###8PLus$8Mr8dC14$XNYpkjve!C9NpsHbvp)Qg zPE~yPRzp`;!(02|yXCW7b@MDKado{VD>i$*t?u4VkJDBEwcm96*BGc`9EjVYdyzxh zQI=rKPDsc$C)gfZ@|AEbSt=Y~E&Xq-$U7nO{jZ$x|M_l|dWb*4_=MSM!3fW0wpxtO zo`3!Yjtg$6w%>5bC?(~z<;RyFKfWB&S_74)J-Fw#U71CZnQmFs&qYSlBAE?+D#K!# zh3>vV#3W0EUj2)IVv<9_&7FU2eWR_rI@4t{$HkS`<+hp*6k$c6VVtFZX$>0DD6Y%t= zV`QFK?dHiQF}`7OO|HY4P@V3~a}^akrxhlPtJe50O{vVO7^tl9RaAO1s-`s*d7Qbf zlH9oA1qb8Gnr6n9&2m+AJM&|+;)`o(_*9%;Q)%%JigQyNyGpA2OEKPb^t%!=-6f@6#b4h^5xFFA zrFez?$IJN)O$~-lWtq|T8O~#w99+#q-_woF^5RPamzX-ZZJIlEuEXxhDxEsm>#@(N zHdWM3x5X`P>$T6XH;_9vrMQ#(D?(qMIq1o(ZnPInw^ri$zJB$E1HKDa*Eg)bu)lR9y_b4pYwIxm9qz;`mt#R)G2Zgi6zeRk>+Y_z zxh6GDtZ0v|Uwy>af8pu|dTIbqd%)i6-Z-Z+`1qMlTHUUhUXh+Ly$DCD1`0AW(kpOz zQcGyV$#8F8IB5`heyZ@kg=-qeyZn1Lw+i#EeUq$i;#J%DYlp3$AY4f$ZhZ*NS zJ}d1iD(Wi5T6(GWgsI?*3)w51E zFO(v_5j0aN+aP>LyMFNfprHj?hx>&dMD(YAI&!zp_h3}af4}6X^>5IZqkwPX?|nXT zleoseWaJ8Qt$#7nFT$w>#CvMZ$MJ?ec_L24z5A~3-FF{Uk9wbZ#yc_$&O)5g`Un=V zvPU{XhxjI&Fnl&?Q!Vn!B=3yY{I-(P7HeV8>is=Q3ocw#Va?7gXk8rL+#r7E@)cLj zukYV|dS6{~bGm2Ap4m-p&MJRdlbbB!ghn%=5!#7y)M6U6LT4&TOn(>uK{sgkj8_bk zetu{Pi#Y@TL_hP_ST%!b!&-%;>>TPbTjV|BI4Uo)tEe|`qsD-T;z^0(#O$LhovxJ^ z&YXGSO4rDb#vxm)2M5+v)L92s`=1q0MXBR68hf3CXXK4HO>`~a*X`ZE+=aj13DJ+4 z&ErcOo1BHsR?zAvE=L?Uo0`wOVm1&IkH?w#}UCO&|6R?&<8@Gw2&m_fDO;ZM_F?O+GSf){!%6Yi5^cyZf;t zY~hjKK6iH6?3y9&lA!dFa5m~qCe_fexe3_}j7sxVZ%|n1S#+{@C@i8vfX5m0h#hI) zkjrs+IiMZC-;h)P$N>-kd{c&HKa6sXfGfU6o>A)PkINAiW>aK06B8=DG(giT(bO}t zVQ!YDMe~FGoii$XD8Tkq_N3NjX4I$RgZA%~x~%E-X&ZA~*bRZbi}*jIvL~fJGqX-I zB}}DAtgJ7wO%-C~riGIW@aEN*Y^39vJg>*u-rmeE}3f=HKuyS zHd|>lAS=E}_Dr-%1{wl5DgFm7d23n%5}FKY&2)os_j`OB?O{ zZ9R83*8VEyoZVb==G<}OjNJ1bRu^q?pDofra%hvWk=iaNu_O+W(zW#r(Oa2c@-MTF-YU5e zlMudU>=kqaNA%1{kNs*c>+ZRP`F>{oCDET{{wIs;mLuP0e}SI)|3tpUWt-qTn)6zW zKj~hnDPP#5#XWlTJ;;0;Tu7Ugdl+)Tt>>M0%jTDMSJ6PUs@+eqF1BykuJ!A$Ulwg+ zZYkbSS-HOWZzvDaM2X`0()I5-IMXqNDEEj2LO!4)BKEhe8^2kCkrMj=zUS8V^HI3s zuF8j;LWF|R)sn)(T85T8rZsvuBjueI4YO7MZ7!J)KmJz1{AZM5tC)g%-gWhB3^`XW zgEwu_eM}cjPMbVoXZEzN3&BB}FXti8+IN>&vWttu%wuZSsH=`CJaicdx7m6Wb5#$2K# zwwF05DMpFr_Hs(Ny_`D9H^RT6Wo;{YkohTdJE(MyB!IzQ#PjG$;`4<2A6WCi zUA*4wnLDBnZd|wS`L#5%ViUQZxr=#|+E?qWwU#<%)=j}6Q+@q~H)q~*;ZHZx`Bus^ z#l>iF6;3BgU4cuVHZ@WLi&dlz#!t}D-r=HaG^38tDp{@RucGq={? zxZ&U`dWK=j^Krgho(sIWBsXrjv3_gjg)bus((oSPdjsf;xgVXHV9rNd$@d<9cZfZe`v@y_3=JY2C#4%)2zt89KXX z=P_fn*5s#@5=MRGNc|UIP}FnxgE+~Z80Fv0%B5CvC*??vutp{?Dd}C*GW11Tai5Hl z`8A%ibI;MSgbFni{IR!@sLKyJpMA#p4E}%CiT@HG={oHWNK)Y~p>k;kIMBMyYnW2E zWr?~y7Hw;2Xn^P=yLK@@-?aySJ!1u8EcDP4;fD| z*Ok7v{ymx&>Fy!FL0mjdSIF5(H;6m%?hT;@htA5xrBYPdFuFFDb6X6zS# ztbgH!`ak{xSGXtg<&V&}l+$+!`7T?=ypJ&*sxaLtqp!ZCQwnVL6=EBLE+&b7yCnO< zvZBQmm3d|LS(z8iFRH1i%rD)NmAQFA;@iy?!ne%24Y}EAwzS-=4cWQ$_ki#_{x_`y z+eizmXKtXYo5h0Q!lXJFKr_G0uPiN1&n}UzlW$zYeRdSc*U4A6ShK8!dFwaeS6<;d zx>N2XWvEYiG~TZmr_InWx8W7{V`YD=55foAunMVX+Tnw8F0a4I{0{f(ay!0e#NW{M zs&D>o3y>Q-`vq@LN0_znjjKbAVjhQH7>VYLDtL(7C_tCaIw zYKu&riC1dM7GJVx(ItyF-cermgZ0(ha&xy;JJ+vg-Z}q{dGmg-ks~g_7tWe(**TY7 zvEZUb)ms-dY$>?llDazQk`=3}7p<D_6jk>O4%zEW-#%6 zLi(1yD+k(Cp-5(!5(_NVe&c&TVIbYKQZz=X*b}%9o!j@9N$lv{&6rGKNY60a zj#f85_CXeN!DH^~=(E=`1NrsQ3W>TtKirCRYY~%xn^Ne!j;?V}zmtnw)3UBj+{&e~ z?p#{FIn(qI`%LP+T-O^GI&(9v2dO42v2w6O;viKt&lCOSwDlHYrx4qyT(#m}lF6*E zzhlGsKWbQYeYv9WTZ_-Ta`D1#HA^pdmR|Us3+zj?wAm~3Hr;XM%DfBi(Qf?Vg%{m* zetF^A!ji>To`;jbb$9>E`9HmNtx8j`QP*5?d-J;QJ+YM=zl>qLP2UnhZ?j!Y(81C1 zi^vYclvO*CG0YVDgY326h&-uXvXj0JZOP7>nw?7uow>QrLhf`j%g#oi3lHC>NiMIc z!Dh@(=cdACxp_+q3zz2QE-Q?lH!F!B(TvF&rr2@``R3PSPf9+;$2DJvz08TYq0>F| zl^wBZb{El>mLKz@zNLX)gayD=*hUzZa%tD2vcChWo4FueY6E~qK~q8kupxP zLppBjq$AfU(iY>E2onUBGPTUFz`LM6XC)QYSYOEerat;~P65*hX*3;reB4eRw~Q%e ztl0C$S;xZFO#Wh~JXA5#jn}<>Bih0+g^~-{kBphDORvr z8K#K(?=f0RiWvNzjqwtTT?rz&iM<2;I@W)&x`XvaA$(L=#FPozewQs+b>W4p)ao_d z1sKssddT~CYd%5BzF-O|? z6TNCR6~Y$0LW?pjYdzIh)~&d_x_*7_vJF^_;R_wr8{@n-_*O=vZ)M!u7>fl>*zRT2$cO8>!c40Se1$-N$qy1~Icp^-`?T;dPeE#Qp0*;ynYf-^ zRv$Tlv|MqaeLRf=TE)#iQudDdnFsUMMGxIrS9jw>7d8Bh{{ESk|I7vJG*B93C)1by z{kh8wjt%SXxV*ah@;lZEzh_9O6NtFNhJT3aTnwE{xDg(asaWQ@=#Lo}q*SMx8Azu zop;u}@It{0FEHO{ZjU|`{aG2py0b}Q_>gQu7o=2nR^9K=gZ ze+(O$*brt9ZQzbnl6=HL4Mcwmmh`qFYW)H}6=Px~3uvNnjB&xl6j_*MLt1e@FEH{w zc7D`D#n!RacrGa!&)H2X34}*#*bR}_v=RmyoMv*FJe)#EYJuk@`6?VqfFe;3V`FgL zMMT5?Eph-1@njfUNja_Xq>N!CP)!;RN|bfrNwY6<4ZAAZ4%xd{7fw8P@_sYZwO3%* zbqLOLU56ihPoMaypcfmr|1&ZKV$tF%eVg{`gQr`jnIY@r&G3s35ssG|Q(^Wq_MbESBTJ|s7 zuLkIIf|RY~b>t_nyJFW48@u&?{ztHic>(F=TxvwxDR$kt{f9g2H`BCNUMXl8e}ea| z;8Q$t<&|+wU%;6ungcYdnfjk9D?E24^rfEPO*Q5%ei{<7rpC=k7xOW;i|J_~+2W1G zn-2!TMQqyD%Vx2UhfSQ|?qsb`K7>(y8kIx>Ilng#RMuAOho z$+1~;bJ&}gRaY-xUcG4flI-;K?5vD*ESboHAM%Ceb`Y7{#+$qeJUDQoH_$Z}NA3e(a7(Pmwl@<#gxtY;N zebfPXRA?z^33`;dPiToyQ}eB~4Z4%j|B+TlJou1cMe0-V0-ek4gVBFv^t9o52*PP8 z-pS-i@-R|EiRX6a>Cz*&?n4(FKF0C4EW6g0rnM9st5;UBI~ORkET#;paMnG_i2<|?|8m*YKuX%*miZw$} zhU4kL$wKbj3SG&>W<;<% zD$Syz@+AVF^@z>F$$#*n+gY`XtwIbtjo6pBELnx?JaR4NSveWzQiC;ZS@+Tf#Vab* z7FogKTyu_5?=)F>jf~9Gumo~UmwWxgMKg7*zqN`H@X!nfj2qs(zL zgz4=aSI1J@yvw<|mA|4SzqmNRWJP|mUd_$}WrmSfpI>zT!m@b_HWi(JIoG*}^Y{XK z6v9Y4_)oE`RHOt?;W>YLadsv7KO|DJH=xgVNj}D1mWWSFX)>ae8g zb;dedNro-cY}OeJb&GbUSSG1Q1Cg0mR+}X>l>3uf2=$3wfF6_YhcF96Z$_JNp-0=h zZr9c5iO>~oY;24_ubcKfPWRh|=Nb0uUF(tw_`DpEJPiJrOQEmj_=~tsNZ&fcX`Jlo z?qacT=VG3Px8$^?kMm7-AE{2ehVPtzB<3n!)&0|agx#3<7!CIYb1VAskqq9m691bU zo!~C`X@7q^@i!e~;O%XRzqt{C^n26(zCH0bZL#E1oNedi^F6m*`hx_W_L6ex4~4(^ z7G5s>5&t)CG^cF>-U^cVo7Qc)^g(V1g4R-uq|=^~K8;T#?HPO<|5=LAT2P(@z=s7N7JMX#H=-x|rRl(n zz{fy0S_|kTD*>Q`3_8f(20C#~GsMgBtQ?J~ya9lh^XmHu(O@{Qfh;Y2p?w)R z1b7M2DFNuJgRVO0s>2Sc?$^L>-~iwuL=VOFMZjv{DgZv!gO48e8j#)qngKKeXa=M= zybc@(#t1Q50N7@10B!~z0-gt;w-I`qq(B~k^d_V?A-xImO^|Pbj;0~xs}`6KYyxfo znt^A4w}BQQh}x14Kz}o2n<3i_*%t7$;91KgAyyku1#AJn13(We^sw#)+6l4M01d#+ zzyrVs=s%Fg4!_xN1Ms{Z&)f059nagtgrq}eI?|;hT{_aG_Y#uvIPfZP6o3wnGyu;y zE(Rdi@i6cL0N*+Ad?tLGnFp){t|BCB3vd$vy|bPM-UiwL$jf#BOMy#)+X3*(*#uk< z;Q1UppM&Rf@O&=x&sz?>f;b1rEr5;%hX^S|y23{Q=uo&1=p+ap2C@L~F4_*@`J#t_ z=YhRII{^8`;91-OLcnWwO zI1Y>vGT#Wy2Q~rM0gyQ#GUr3)e8`*+nF}CuK^Xv<3m|g=WG;Zr1(3M_G8aJRLL~s1 z3%3K$0B-{=K#-713jp4g_`VX~SK|9hd|!p{tEvF#S9Jr>3_JyV0YL5|$Xx`vi`ElT ztp}dR?EWr7YLKP|X=;$B25D-Lrshomd}}5Nai#&ob~?hG&+6&ob~?20qKcXF2#R2cPBOv;1ZN`YeA2cpGQ|f`qKF z09C*i;0B->cnWwOI1Y>vQfCC_1Dk;B02lBC@G9^HFht0CTA&PA4_pJ>1N<7;4IBcz zgsfBoMZjv{D&S7wQQ#%u6QGxn)f<6p30b2CpvRimf#U%5Sc^Kn7XDqk8Gy`nkhyLz z&<=zNS&zE00ncpsfRK&X1C79w0C;Tt5(p4-KIrFH0~Z7E?fDM^$fNV$1;FS0C?T7` zXA|;y6Q0?GXEx!PO?YM#p4rp}pe$Tq1Hk8kt-wvdeZbSen*d~809l*U0O-3J`fi3k zn;QY>vw0726c{0-UJsN58v)p`5=gk1OtAzRlIa*+jqoQoO&=yK760Cc$sx?BWZ zE`lx%(4_&-G(eYzn*iw209_iOO9OOifG*q8fM(!DLN1mA;BztPmy`f&fvbVLfX9HB zfdhbtknMPOdjYT+Kz?mUo^FRfw8`dtD2u7qA!-UK`fK%Xn2&sEUps&WAOTm^lu0?(_U&sEUpD(Les zIl%2e2N1<@#sMq=E(UG|9t55PAmd+c0Qg^10ziptAp078e+^`R!wB35yhO;gQXmhg z19k%7f9)f{3jl1m7B+knHhdE{d~+$V9rzCL5b!*(7ib5x z4fg!oi-cTX4eSA6@Ac4Qml2o`YzD3e8i6MPJhKbW?1E2jfKP6KPi_E@8{m^0VegHw z_eR)zBkaBLIpAHO4VWb4CfI!w+~CEydFmyp|}0DN~_9k3I)9e4zI0RYe2 zItjr*n0zk_SPE<>1h1PXx5I|pVZ-gP;da17n2TZv^H8 zn}F*87XY63zY2T-3=#5x7AOPO1J?le0KW!y1BU=Fj_50aB49Oe6>ul;HqZhD33(8@ zJP2KWCIxy4d1x;oKi>@OBjjPo{CCj*9qAs)0$}GOorL@XzWoK{{BkMqFd@IH1E9~N zkn?{ij$?WR-5=Wtv=Q=u;n)8QfBpJ)LjD8({*Oxud3-A&^jfI@yc2kWkSD%+^>Px3Hcv9_dodl`2yeoA-}r`c#@FcKSanM%7OL3 z)d2MT1LXbT1>ggq1pu!Xj6eyn5`bM(a4Y^!#Xa~Ny1dYV%Zv5EwE%qc$Cm*wAul4Y zUc~1=LEfM6{h#pcpI!wf33&*G+5Yh%7Z7$#mT(x%x0DrezfGXf7LQX@s(_q?h4RAZ~5b!o3XJF%*Yk@XGI(HM& z^%5aHdSER8K0SD*2mE_i1F)?Z&-8`~>4R;3&4hUFB&2^YAzs+wy#ja!7$C$49epkU zb`C(s0G=Jd_k*_r_&o%EL%#$%2^n4qJPhFbVc0hU+DHR%5AY^%02m`=R0>#tBA^Di z3b+q=88{9g?HJ^aA>G&~0QB^y1K{t!8n_pL{(kr|paj4pa1HP@5F}*$2Ea>55Z?u1 z^91-zvOo^76@U$suM!f<0xkyN`_Lgm!q6uSox|4y@N0OIkO+Jpc^7CSB)SoRjh+*#q9s^zkJ^*lw4?D1$yiHsz(GmwZ zIS7_gG=@H(n)MI#>%(CZbT`Wl1~NQsHaEGn-s>7dstwyOoy=WC8bImjAUQdQ4>$1~ zAd@a0u?#Mh(*zkcVLT03q~f@z(o7ufNCOl4`!u@ej9pmbl4wj&#!b{sE{XpLq`OH- zM6QwJ{l!`FPSq)$OLt0CU*49Ev!bQwt4ZqH!RZ?i(RVK1YECC{xl)dHMpP#oNBcmO z=HO^82^xK$3U)z|5meouxUlKk;Qqx&B@umokO;Y)&-Sn0a4=Fy?b+VIy&m=+d+s z;!TXh6B2C>6fE|5ypx)=v^1+$mz8Zcn@PVj(zS2jzOIN9A3pr>Lwq0+unG;F_IS?N zjcTny<~G&U)s-4Uot>S9g@y9rlOKKbk)Zzu=(rv_=CLxBTBE^r@>n>Igv04(1sfXi z`FtZGR$)#Lha+yHa5qXBh9OLoCC121w#>{-i;|h}b#-<14{XCjHPzYvhK=FAo6X^LEM&zk79L~m-}*p zcdA^T_I`qf_L(fm!-A|vBV|I!;SeMBv5K^ej104qrFr|H8oAj&K@?V+jd~qzMd^PG zi-10f&eKbjO494}?tiD<8*ytwlQJo(t6Mm*cQ0RCliIV{Bwf%x@)GgRrae~{cSqu0 zlR-m7&k$Pjo82fO%{@K9?kNf|R-M zu4O>AECskn;6ozqk!)9M9(yJg-Jsy#{rsDk@R(ZSKN_!yRYv9jRAFwJsoak9~H zw7Fzpz}t_;*wg>oYo_JPmo8meEFJ9l^o`vw?|$oWpI=c{Iqo0xqn}YkqtW1ym-M>b zc`>M@GMP-Bod|u5nkvyMFD=!_#@aqXJN-phG}a`KMxso3GAy(oI@p3JTRCmh@gvhP zsCHTxi(2QFd9s{Jr`*NvRUdG3?fMoxeF-ctm&uhXuD4Oh6-tF7FHRwbDj=;`Sh2*zYu1Ag4{P{?4=nzT(nvx}$-;e&&2wy-$8xgrt{4EFc;`$onm zqH>-7)1&e->N%IL^(WM$=2*UB{-+VRP8Q)>)^j>c3MM+V_y-vrBYiYpYd z=JLt$A=rN8Hpp5R zp(L$bzD&+gz17h$uXSq8%hb_U=b6EHD=URX>OA~IU+19arX9}(K%Cij=Zw>o&xPVC zQ@P^(1fab<7;o28xEckny8|H3 z3>0@-^IH+N8yh!WG>$!I>JwKRB&kquMrdn_0 ztluNX6)&jZa_V()u4c~q*ArZ4_S!z{xYftHFhd|V^xDo3(>`>DU2qNgOz5@E@QN96 z1xlf(M>&$pem47}SXu{PmWX$@wES#$uUOg~AuT&wT01ve{75Wq zrjS-KTUy@URlB&1O@y z&r>zuk*1SGB9Tp-Hl0^QD)F4gQLz{u<%*hWH(On(6UJDnd1;E${_HhfypE^RLcNsM zS{bM1Qrn=FfwoIty|2G-#1cRY6>&E*Jw0wlKICTX#%2R;t+Ea-SiCg<6ARj{e2`bJ zcQYfUZswDIL5D2xqU(oxi&U02FfgFi4h+D=P?L+Xc<+~>K{GTN-+uf3_c6WodTS9m zYqJrH`$0*2etx^K)=&c;SV<)g|9DJg&Gh?x3B@8LIuXFa2xc`hCg%6pj7?NUg?y;% zOc%yl&5qb`%fU|$nVrsrwsN^jEzim#Sx6&M>C^W2H&MM6Bc~UC_Qu|VR*w3Kxj2_m)_Y+4TN1zGqJqCm*FA@!%Ws(lJ#N#Y6x=0;A(oITbiHAxx zl2!5asd>iFMGhO|d6rB!!ppS~V?14wCg^l9NwdPYrFlfHVxSeL7^|9;O!l?+QT-IA z;J|>w1TD3gL~=!)E9{yDB^end3)ZZmx~uy8gE6x?Ha^n^q0c*#l$X?nC6l~;l{57e z)(!S2)1^btbd&*&T;7U+G(qX^kbZ+kHMkbM$ z`AD6Q)Fu?1KAM_ge1TvTJO)r`hlZMD8JR|7W=6Bg<5|AUk#_C1cKeEjIS!QSEqI`) zs7dzD8^@2o@y?90AqNNK(kPx2aybLCG9XI_Sy-bRAGe~wLZ?RN`0*yDtgKn*@ni-* z`z$NVV*`IV2-odsVxIVez&km5W9jHkPRw!6srk>3Gv1fS^FNiw&qd!%(2_nE@*hFE zv-3P8l1|9SL&zQb&!ciho zn(SDTv!|&fQU4&On}hxcc)F#SRAW676~m1;_{B(9muDnQq&hn1wCbcJJmTqUa+ORD zd+Bs~2&;HTE7~`UK~6^64)5Q;|8Uy~(HAU)S_=zwO>Q|V7r_h&)2b*A(qiJcW{opX zO~%{lH2RbFaZGHSYf@H_6?udkHmAvH3y%LV)=$nz;?(pw^^YWFZzWDmq}?Nyb|#gs zCUGMVNm?3p0^NIIKHbwabv5+txSQgdiOSZ*sjrD?mK~=)DMrnYQ+JC|6IO{*b@8_PE3qX1brt?oEY$-c>hBs_WzBKQ*!_Z*Z5lU7qR@Y$ElBs zQB&%WNDZ4=Vp8Rrd3O22}wzgIg zZ2$c8&)b8FS`4-uZBSFECc&{lAV8|Ct4ocs!4n4#91!}(L_JB#*E#EmrBE_PJF~N? zC-=L`lQ}qN9r^?d=I)TmCv$epj#9>nfnWPgW zSM^yM)BR-&9bcDf{lVbb8s%1on3XHlrI?!vquXV$ZyD^%ikHNp{=qalol7l@lkO%N z3ZsOPx%Jb_W0uFG&{#0QDyyk#Z_}bkO8u>e4jpRsOP$1lgeZ~|(Mh*nDOxJ)A%Du= zdjIKG4?4i1AwBmqRS_LF#Gy!RG8~9vb((RTSS1viT0^k6&exFK!kl7E_Df4!S}^TD zIkmQAf)!Nr2mL1Xi34HR_Ku#b`P%-2u^b zc5WT^y+k_N-|*2MMt)BAB^)V?Z;~_zzs`J+WX5T!dfGX8e-@RO&&hjEM4pzH*DfZ{ z#>+b*E-#If_qM3KEKc5EMdYE()7jclF?l9l-u|RKy5IJ%D65qd6GWvM8ubSwaugDY z7S|YIr$kCZqXS-|zv=moX zR@x)Bbd2ka@Hx0gh^lnSs#U9Ma?|{6CrXoPGnr1qr+a^{ zbo)foDfo2zlj-Pug^v|eXld4Pv10r8Q9mZ)HCwBbg?(4)OE$gJtoYNos{1 z0IF3#A|+>)HV5~W)y z4beqOZ%FE9l#-v=wUS{32%(IYrfZquzP`SinwnAz4K`twwj8&zthx^Ee_b`U9dm3- zp&y_FaW%F+1g~m*8eb5rVU1Fcb8vYPmcts8^VoQ4Q3q(rJ&+#vPpa?uwdya5#Arq? z-QUvVdlaeZ`2CBwio|HVybtD(_lc-HD<|*wqUrd3iS-7NKu?N#dc2K2~m0czQL)4ywr5(k`EUkpSk`vS&-soYIJaLaA@Sc zx3RQw3}wwbC{n^2^~(6PHa$N-AH}VBMsX`Ez#uU(o#=HAsWrlI0jQ=fe-iM?Z|Cd>p_n}7Z@A02}NvBq}fiFlLrSERbWI^R=%Zv z^XAQK&Rf2mTLiDGYt&8=CY1TJ_954|eUTq8%V(R{T;Fyoxk{ZX&oozFbMj6l2Bk5}_#n61-P3cQYJgl;YVEGuik*Q*X3G{K$}b#E>XslM{7zRp{Qnd*SFjjReGTg6FFp*ef0^1x|k}>F2C`0bTXe2U@$nS|X z#Lk2VFfSM;@`w^EwP{8Y9>?NGFcfi1lxCx%d0}vfhFT4Un4?G4Gp0?MO7 zx5O6>;$RB5U%e5QY=k8Rvsj`~jE`F^aqaD5+Gk`00)oZ`vuHdvma3&)Ov}$dSF5LJ zb}cl!7MfLwX=cICG#@AQ47=UMVtP*ZGQ$0NKUdA7^>jZcY_LIsm<`iCU0prJqV2GV zM&`{Evxt@&y&ms3meQ#4WP!;MGexb(dK=0LCR>6H^JcTbGdVUU)jFmWlN>SSBfVIS zLkUsJWK*F&(CIYISotW=Rbdu)@34V;%aCLotjMP zc%92E^sqoj2|e5NG%t9MnrZ%WKKrAHN399!%c9h{zh4&d_uOg!x&BU;y-aG6i+xqB z%x3enH^gaNd45BzJkOO*s6VfX@f7O8+u}4%-rHjG=1TX^kw?oXfBwTr1=8|KEfhwE zDO9Q|rBWNksC?O_R*F$)q)q1IKgZ6bJRM&)MDx+W(?s*pKm$cxtY|*Yl}^F)d|j+; z&_M-wz9UZK(SZstmt!Sno$7*CoP@-X1Y| zbEOmN%;#b}=caM;J{OZWS30isbFl}+gC|CU35ET)*gIqhdVM`23rN z#>tC{$(xI(kbk0OLMUg)#dN_0g0=<6#pKPE?w>7B&}Fxn4T3-aCQjq*`PJ z{nGznw7n`Z+MY6JkSn87R%KA){EsGOk>WB-(D&tgdqzfv1F>i8+D}((QF+VQW(fxAPbKKjM=_t&AfeM_P zli>L5e6uXjifDqiahZ93onXUy=t)mJ=gYMS?bPVBIF}I$JJK*o9`5b!9gfP?W=A-L zI5DW06%9{L(E0gfOk$!NcWLs_;F(kSIYVO=^O@)<=ISF+Mw?ZTf2J?UAfm(REHy9_ zo-_G{**X+xcNPP6Xgr2A(0}v`sM8vt>eSUOsm`$~gc*6#vsTE3XGPm_8&4A*6R3Gw zN*j?Jg{di1jKYpnuEIELhD6bkji60RFGkPsarvAGu+(MP9FB0<;jr0stSXIqNySbM zV=HwSy9Mq>RU{OoK0I^eM3Xt&ZX{ebOSx=j`D~sTqeu7#1Hr-e78>k%@?>kPS21}S zF)F7g73MNHwG3CTy4`9CPDIirjf_G^li7RR!)Nn&Tf(pW{3&Ujf{*O=l5687m7bNO z(O2bGE5n?v6S(t(YZtjw^HAmvLSiE1srZhgUMdNsNJS`a7NXoJ!Bj%F441+S}_x0jLs#+L6)U>leed{iNM2a$T#_%3d5?U87|$rRqDU&2$~Ys0 zX4&D820PK}c27ucmGKsu-~Xq(aGQ}=MF9jd%&zmuSYT{ys=5|Yb(@R&dV1&3G-t98 zjG$!h-&2y;FInrX5RX>uZ8|tfuEX#nM{ydz8j(rUajOx32+v%>nT^Wxwed3lCMI(x zjn)c&1x8KTqE;NCX8}c4P{ipoY<*Qsu3+oeKugwQD`g6O_fxJjX3b*Me_U4!?^{tj z=A!B6$dkEfd3?Gj#C$pzt%y(evRJygXhJ@voa&t6v#*tw#p@}`b1s^A-I=Ri@ieaH zOgZhEv~Mn&k=OGbF@MfQ6YAT?V(I3h&1L&sG&`^7M`H3MJngSyG$Gxe&yJQ@%a>~O zbnvKAI~)_;{i9*2&YoM8o1teV<9aT0yur|yklR!v`E7QPJHm;2PXp&LrGN-!{eC7j6`}FRCO0c zV=}$fk)A#@BsZ5JaJI-OA3cdNQ1_TdPh&0R7$>p9*fMeM4xJqBHrNToLHZH3h67DF z1H%VLxa4$iAry)>s}Yo$naM)yjErW7-!GN={r-S7BP*|SP0BI?BqxyJR`{j#+Ogp+oeJ!3aj1O}Q9;QZHlp83;ro(V4?fXK?8BvEw-zn#qB~ zxG>_tflg0fAG*c9-k#G34t)3_=8BR?$oCm&hrA&*H|fwIz|6f!nO;;?g+6*wrc&=` zu%Bnt8%@;zc87*;sxYLXVMUgnbRcUwV*2d524VC;&neN-N0~|`YMY2*E@^8kwI?gp zo|(p!;e4Bz2_pKtifd~{)SgY}YoIgTo2$&v*B}E#vm_$dh^eklFdY&^)Sh0Iu zjOV%0=vj(ID9t!afm_Z7M*PEA5Jzy!fA>5oswJ~ST z<5daah%{A0MpeM3u9Vy1724!F@LdkR*>d^F$Q*X_lU;G+vt_c3xg5aFY3J~Q5b2T9 zFUUuDPvG_r_(CDe;JqQSc;o({v3>M@HCtTo=|15Vp5_?bvc~npIM~m1#yVMs2acjS z1}`}@7B7L5WHRcZ>8G~M{8{lmViD%&MoX<@nh1?j`A9U{{ak3tI;P|G6pi#hH<}7Q z)=rD$MPM}oc|FctqINUK`Sy#JVtvYuPa#=rsI`}|pcG5}7fCN#hEhx)p3>Ukk~?ID z(ldg@ZzJ1rzbX@!XPHDV-r{}XNwUMUdXvbH@X)`1qm_uUMREd1MZ{{_9SuCB5*YqQ? zbap=7KCyHvKHVv?bQV6{r()^ke7a7tbb?1ui=`7h8Wc+>L?pK)Z|F$+Y_4<$UQbbZ zxH^O8ps2ia&v`x{xSXdurHK*~KbOztJKZ-)+{=)(K*DQzESV}v^YdB`B-15l=E^V< zVrG8&6jIKZnNJQNDX775q!p-1zG`0Phhj3ryv(+w%w)PC8KPdxB`f1~q6{UQMnYR< z1ZR+0ddP(y%o>-_Ux;pWYZ(TeR@VSd-C-5`0jpL@qS47f5JO&cV%2%{7c$lu#aa91 z_?e%hR?{=~$KB+(Fn*oh3dp(0f2ISiKy+-?*s6K5Ljn7G5j64mW|sLgNz{*q=O!JJJ^C_xCSZLh{^cNxkU& zW140~kW~U%rs>wtw7l6g-EvrMNOI?S3l`Is3MUd3J<_s&F%_&y4v~X6!LQ_(QxP^ii$$S@T;74LLP@sKI=EciI zGMxf?puBtxF~Ybc9tUfruj@qNBPps$Yx)=D$+QQ9mq4-J`{jK>Cp zy^E?#DBIjzy&n8nY*i3Ktg6?19!5O1zB~Lq=q|uU4guF1$s)t*S zW2b*d6}KGc1XHvTdaPM*`=WG19?A(0{z-8=jBmuvbi|8|$5~aJxFaThC%1Mq#Me+d z=)|m&nee(L-SkkWwuI&Dq_e7u6ocZZb4zeMVvXSGDPs#R3jDLg%|}ycBXr#HS+UsI zUNeoBEGa>9ih5f{?w;xGuSyeg@Tgd+75avwuyjW5&ZMQm&xLvP9=Q08H!g*W40aD{ zeEl;1zMDp3s&nE*v$Jk}Lqo%Qu36jQ*3f%y6qu_kV&nbybM2E2yh@X|=P<}Qmr`Js z;6}4?+VwenmBmCU!f`ewRpfjn&y^YL7?nY~O> zo}90FhsE*~H>6N`hsEU0q|rQ0Lyc9*<%bSUOq@JPj<_YZkVkgE%I_~NrAN|m4U^=A zz04z=vrf5Bh)WsRG3ee=M#h z$!$iRyc|5~y`dE}dvPk-@1GbC<0v!sKxu@pRWFlFjtUbx5)BN{O3%7ora*u$UFo27=Um^9RK1+>(Se&1pz%}PF3XRWDqfJ{4cC1 z9EV*qS_pv_nuC^-&IzqiH)qcNRZP^+9+>W6;aB0wM9IXO?X>y7YpO?SuRMMB z?-HH;Cu^)QGdw6ZyVdhEN>SQbq}wOP)4=l-r3vyxX(m417h*hx+uTHHbETVWRxIf9 zHO!`yzW%B_BN!E<<#do`Gt2r{r73xT9uo7XY7W|5>4dy}Ta2fX=P62?nQk-cWIbBW zLX8|RJy6PVA%@AMW@CXt;ljbu!O_6TFwS+3MpR91V|>PtSeSF`QYtKs&tdg))}0d$ zPSSI!0i`*25!UL5hpVesEU#I#WGNPnYikOcQbyafvK}~aVyF>o`0)zNUoV!J$8a;N z_|0ZmE~KGOXwJjbM{ZSIrwr6-ZXVNYRm4IQ6aHa(RX4rO3@!A6OgKxEI>vXS!lv9} zwj7?QgD0|5{(LS_9HF1Z+)f z{e`HPX)y)-3QszXdf`@arp68Ms{leu(cSBrwB&pqH=}WJQ>i=c$(lVgWs*i;F@f4E zDpAAJMB@~)d79|HcRo)O-P;y)5v2(cL85!OLORiX=nP(-C{0M0k{91ZdHE*FY?VYx zx9L>4$4sukbwD^**@w8go}S(zL;_+W#Dx&qG!m2?M2LkU#O;Vh_%ORba55OgFl-!q zq7sEn$)HRbQX_{Z5joUUl_*^PfdSk^G%{LRhV$DQdK=v#6)$Vncv(|R8F~Q|N-`Pl zJmt0^UQ?v#@gw+Te$KRa22IpY=jOvCPYdt+S@xy5vh_=`J!`HW%(BlvS2-~A@dW8fUa2#qI4`S&6Kky&Z8eYIWn+ z(w6Y8#azDs`e?s`pMHh+i%uRnfttc$gh<8F6B zyyB(hm6hdUHX;^(oa1Y4>kH240j9?v(>=R}Jd%OCVQJAq9p(q(xUdla(|#%)ldjZMGM!MRgcsA8W2aLj$k?S- zt5YJ38_kG0=HpLO!;HCJi_R~$=Me`^)y$@9hD_Ge)87jZ2F62U-u|AL&1RfHG~^)T zQd(wHwhXrT7cHu)$hO$BaK1C!ZqBQ!T(LqHJcBdBXM!?w#flXxD$EGP-{xKXyfU@yCTuY zE;b%BA%q}f#cyW(@n@eQ-Z(XC_vFc}ERpzQ7mJYN#_W_JWGoJHf#x$JkZFX+CD61? zRMT*HhOP`|yHwYlWVm!7V6n{9w(QWMmX`h?A2RJ9A2@aL%P(zs8<%{d9T%vzPsr1_ zcxkQ(aQfy>(f7cCSu{?Wb7EbpXABD#Qrs8LEl+3zfm6r25eS5Jvq*r>IkD(aUR90J z>|(mmQ01nT<5ZVarBWR}eE3+4utGU?e@`<$z%l^~?#eE4mN4;%pGtVD5}vZjWTB8u z*4lciwFl#cv2NU-{?=PqKysyZbkJ>q&eQ#4V`J#zBLQ3$ZR10eHsELT7Tnu%;YAl+ zboJF_Gaj$4rOW2MJ+inqwY7pi$sSf%FE|L*XIo1+NJQ3|W&DcPX$YE;PKfB(C&n{D z6X7YWgncQ-Q#d1dRE%eWCc@Lt>p3LGQ#hCR2Qi)rng~xL&+`p2owtH+_SR>0e6@sjt1#0v21*}o8D?ag!491r5f)ni_i$Q zu-s_GyFp|THs;5eHaHoMH7}4)^m;PvT6qAiyC*#9p>g+vA$eL>&fvI2m9cQ)!W@eu zJ=1|!Mo$k&lqs|YrMSe)p$YZ(^m;v`p%`5Zk~977;NYE9rz2|6ZZoN+GirpeGV(sy z%qZC__?i3zVl-ieo8@E#CohGToayOk zLhQ{RqEumTmd3kXgZ!<;bVe;B6Mp1T@5$C)tm7iGKNw_{IH)8G1%s0a%`}_!(pZSz z9EkEIQEL=zqlO`|Nm(?^;NHntqa7JOJi(%9VEw`$kt)r&&B1EWsGBM=Q6AT4SFGHG zpS7ztUvR+%8_ru&Q8C|!GZ*&x6%}QfO1vgQX2~g}SB#UzZb{%ko4-*r;q4lp9M|hD zCXJ-gPLB$hA{`waxJJtq_O%~CMCQIv55(UL7hhAz9*a?X)P58W;9x-Yv(MW^(`tzF!v)T&ibW?9|xWlpT3%*S
C4OO`}@{dp_P@;cP{X&<@i^n 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

MP^Y_Q)CoB-M7>5> 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 WV=LeDtk&Ogd|9oJ!8PA8_WuIv4y0QE literal 0 HcmV?d00001 diff --git a/frontend/public/robots.txt b/frontend/public/robots.txt new file mode 100644 index 0000000..77470cb --- /dev/null +++ b/frontend/public/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: / \ No newline at end of file diff --git a/client/src/App.tsx b/frontend/src/App.jsx similarity index 95% rename from client/src/App.tsx rename to frontend/src/App.jsx index 0a5ed65..b29e6ee 100644 --- a/client/src/App.tsx +++ b/frontend/src/App.jsx @@ -32,6 +32,9 @@ const GeneralLLMPreference = lazy( const GeneralTranscriptionPreference = lazy( () => import("@/pages/GeneralSettings/TranscriptionPreference") ); +const GeneralAudioPreference = lazy( + () => import("@/pages/GeneralSettings/AudioPreference") +); const GeneralEmbeddingPreference = lazy( () => import("@/pages/GeneralSettings/EmbeddingPreference") ); @@ -85,6 +88,10 @@ export default function App() { } /> + } + /> } diff --git a/frontend/src/AuthContext.jsx b/frontend/src/AuthContext.jsx new file mode 100644 index 0000000..34ec0cf --- /dev/null +++ b/frontend/src/AuthContext.jsx @@ -0,0 +1,32 @@ +import React, { useState, createContext } from "react"; +import { AUTH_TIMESTAMP, AUTH_TOKEN, AUTH_USER } from "@/utils/constants"; + +export const AuthContext = createContext(null); +export function ContextWrapper(props) { + const localUser = localStorage.getItem(AUTH_USER); + const localAuthToken = localStorage.getItem(AUTH_TOKEN); + const [store, setStore] = useState({ + user: localUser ? JSON.parse(localUser) : null, + authToken: localAuthToken ? localAuthToken : null, + }); + + const [actions] = useState({ + updateUser: (user, authToken = "") => { + localStorage.setItem(AUTH_USER, JSON.stringify(user)); + localStorage.setItem(AUTH_TOKEN, authToken); + setStore({ user, authToken }); + }, + unsetUser: () => { + localStorage.removeItem(AUTH_USER); + localStorage.removeItem(AUTH_TOKEN); + localStorage.removeItem(AUTH_TIMESTAMP); + setStore({ user: null, authToken: null }); + }, + }); + + return ( + + {props.children} + + ); +} diff --git a/frontend/src/LogoContext.jsx b/frontend/src/LogoContext.jsx new file mode 100644 index 0000000..6818967 --- /dev/null +++ b/frontend/src/LogoContext.jsx @@ -0,0 +1,28 @@ +import { createContext, useEffect, useState } from "react"; +import AnythingLLM from "./media/logo/anything-llm.png"; +import System from "./models/system"; + +export const LogoContext = createContext(); + +export function LogoProvider({ children }) { + const [logo, setLogo] = useState(""); + + useEffect(() => { + async function fetchInstanceLogo() { + try { + const logoURL = await System.fetchLogo(); + logoURL ? setLogo(logoURL) : setLogo(AnythingLLM); + } catch (err) { + setLogo(AnythingLLM); + console.error("Failed to fetch logo:", err); + } + } + fetchInstanceLogo(); + }, []); + + return ( + + {children} + + ); +} diff --git a/frontend/src/PfpContext.jsx b/frontend/src/PfpContext.jsx new file mode 100644 index 0000000..3d60d55 --- /dev/null +++ b/frontend/src/PfpContext.jsx @@ -0,0 +1,30 @@ +import React, { createContext, useState, useEffect } from "react"; +import useUser from "./hooks/useUser"; +import System from "./models/system"; + +export const PfpContext = createContext(); + +export function PfpProvider({ children }) { + const [pfp, setPfp] = useState(null); + const { user } = useUser(); + + useEffect(() => { + async function fetchPfp() { + if (!user?.id) return; + try { + const pfpUrl = await System.fetchPfp(user.id); + setPfp(pfpUrl); + } catch (err) { + setPfp(null); + console.error("Failed to fetch pfp:", err); + } + } + fetchPfp(); + }, [user?.id]); + + return ( + + {children} + + ); +} diff --git a/frontend/src/components/ChangeWarning/index.jsx b/frontend/src/components/ChangeWarning/index.jsx new file mode 100644 index 0000000..42b211b --- /dev/null +++ b/frontend/src/components/ChangeWarning/index.jsx @@ -0,0 +1,47 @@ +import { Warning } from "@phosphor-icons/react"; + +export default function ChangeWarningModal({ + warningText = "", + onClose, + onConfirm, +}) { + return ( +

+
+
+
+ +

Warning

+
+
+
+

+ {warningText} +
+
+ Are you sure you want to proceed? +

+
+ +
+ + +
+
+
+ ); +} diff --git a/frontend/src/components/ChatBubble/index.jsx b/frontend/src/components/ChatBubble/index.jsx new file mode 100644 index 0000000..72002ab --- /dev/null +++ b/frontend/src/components/ChatBubble/index.jsx @@ -0,0 +1,31 @@ +import React from "react"; +import Jazzicon from "../UserIcon"; +import { userFromStorage } from "@/utils/request"; +import { AI_BACKGROUND_COLOR, USER_BACKGROUND_COLOR } from "@/utils/constants"; + +export default function ChatBubble({ message, type, popMsg }) { + const isUser = type === "user"; + const backgroundColor = isUser ? USER_BACKGROUND_COLOR : AI_BACKGROUND_COLOR; + + return ( +
+
+
+ + + + {message} + +
+
+
+ ); +} diff --git a/frontend/src/components/DataConnectorOption/index.jsx b/frontend/src/components/DataConnectorOption/index.jsx new file mode 100644 index 0000000..038624a --- /dev/null +++ b/frontend/src/components/DataConnectorOption/index.jsx @@ -0,0 +1,25 @@ +export default function DataConnectorOption({ slug }) { + if (!DATA_CONNECTORS.hasOwnProperty(slug)) return null; + const { path, image, name, description, link } = DATA_CONNECTORS[slug]; + + return ( +
+ + {link} + + + + ); +} diff --git a/frontend/src/components/DataConnectorOption/media/confluence.jpeg b/frontend/src/components/DataConnectorOption/media/confluence.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7559663a68ac1dfdc3f5a64f4de891d3d449272c GIT binary patch literal 5659 zcmc&&cT`i^w+LL6^<1^BKveb{mA+}qOXVG9axPyj#eI_^cQ%woJQ6_ zU7g#9)$8y4gC|5Tc^CzWxu{0l&HDnA_A&|k6V-2}_%&VETk z4#$>1PJha_NuCZ55nNK}v2(kyianRz^F0~;dQ-XgQ;meqqFdgA@0Dqmxby#@%VUS4 zX6f}6-n(BfX>L`5$Z}RSHGXIi9ewp`+44??+`>|pOw-bi{Y|OC-jj^G4F3)SQ9mqM z57-qKk~rHL0@Lc1fJrpgW)!4%$jhOhq0-&5a^oIN$Sk#VzDxx%TNiti#p4qKOK)1) z(Fa?MhS{ii`?*lftpJx)v*0)RQKI*ib);q{m*Sj> z1vXS&X;%w7n4*37*E+AJdx(s$Y;hJmZ^|%ZQWuj~Ta*pc#8>kr%+d9j-Oc$Hh-A}U z`4vpg2d%Jg_0M5OO8OtrL1VPB~bu9hnY9WF|MCSW3;9k5$YlEZgdrip_#2``e?F%`HM1kp>G> z8^Z$R)AdKuNo}>WYokY?z}8EVQ_! zboJXgZ?8W9Mz}}j>f#P~S+aEtflOL$@LV5k)`W=Ot$K`O;tJmy`wf=G*7%~z=-Xk} zzv@FCH7l9GlMRtH8g^(i6*S|O+3XR>*eKC_`fWFF?RXpogGw4ecbBFxv;j#K1DaESr;)6o*$=FBaLJgL5Yyf?u@d zQTU`aDPhuy-v(2-sJ8~6XA;CnqI>RQJAwK*6=9r_bOxIJIVw)*@v9Bz-q|&q%6>RU4CxlA zRyVS=xHR6FFJt6NO9(!{Z2h2_U;mPVL)7YhdxkNxh3)48uN?}*IP#hjULm^VE#IhA zN6S&uJKbtf6=&0Z{?^nK{v7A62oi7BGq0y9x>j3WX`4Ef-s&73*(KfO^b(4_+)yZA zl=A>oew3X*6IRva9H(8JXK(@ILZ7b)tttLu*73fQ_nctmofo{nJvhhvg17soL7{JR zK#aY-6V0qE?9sJbwdD@Ueu*y9)BT+lZHPR1-2$WEHC^pqw0&=#If03^<^FQ{83zr| zjadQnk{a#0`*(N^g>ddVV)7Yb~Nsne!LuVq4jR`*OF8wNm4peH==t<0PEp5sjY5WGC^Jd+ZkKt4sOMWFI#yss?| zb;QmnZ^ORr7&)FjU+9vN7e0c(CB-4mW%!vdBU$>oX=xoNDnvx^HCJNIen)bd9l3P$ zB1apOL{1bxGkGS>d5}N{;%>3qONA~+d`_a923A;|GeOY9PJ8$GYJ>u(gs9IU&c^NScKQTWnc9&kZU|4poV@w@sY_hTu& zUwtYb*Z71{^wdWxOh3|!+Q}88?In$C?|POTx5Fy^A|c^*i_>nN>}FA9l*V4mlJ$2| zeML$9&5oEBp~p>Dg#Tvd4tD8u1${W5-XU6Lr_})i+u{?fl`h&|$-QypqU|AD9!@-O zj|WF6S!oqt>aY%V(WQ*nRGb>Fgcqi|OdSumfklKOaZ{D+2(TiC44q*i@1&k;tdD6s(e`V=^UneM!&)>Y~L)c&8oM;-$LJRasFL{m+weT zsjK+r`sD0DI@sniKfi@qZ$qhkbtv}wPRxVxurwUBbt9CNeKb>Bp-RF=VC!z${~`IoAWY&%0Lazzm zXq%ZP?Yc!JA*$Z$#PS;dZ!{%s=D6JOn5<-Q4hz?FD{N#t@ zK9DXeWUeb+3*N~;)RV9ixHnA)c@>XALAR{jp^>;r_mLdcg2Yl^MLhCH$=e6%wB*c0vhfVLWg z0;91g*R1~Nw{nCiaOhsZEz-@Qg@W6}xSoL8ZNG%k1nYx?Q@p+o^%jIY;-QAA-F8H# z-`5Sr$D8Ay!L51vy_VY=h7{SRKlb7ey<_!_8DOoJSPrAjZuR{ozLT9)|KoxEwi>&m z>-_)ZQ@<2F$ba{VZ*2rPneoVVr?1_ADDn1fGLX=URry#GmLEnuy$^7Uj-B5I$7&Is z+1nn21u?Pj-Roa&xR;#)=Rjc%9aD?AQ<+8<5ldsnb)q^UI)NL7t>Mutkx!&70n%!+ zca>$=8z;|qp@|OR+4}$!+l0R1HZ-u46O(7Lp3GP#k)(G^!;(@d?QL+rMECJtez7rK zH0Y(XE9SZrxj0L6{&Z3^HRuMtu#`+$0(;_-eMhQ@igku#4-g7t_`c7jIcM|sS{wYG zp4!Lg200CV7$Tb!3b&h+Jx=t2f6dDttf#6)(v};mq^+;venkvfa+AHc z;>%fj{7L#~ls2E~kjm-&+$RZ)87d;6h|-V6vcnY049-qT4$oa}7+XA9jd~!8bW2)j zo3qCy;;-k6RcUoYL!d$DedOd7gWkVy2`(4@m!H5}0|~2myBAw|>-&Itvg^Hfoezl$eZJVeg|IgS zs3Wrjjk?O}e-;S30{}4Y9+Oo*9B}CR;Q-lVhdm&N(W}^Pkq79ezFZ>2*e=W&b;!x#VXwXG&=LWlOu`A0Tp^Wti`P zn(Y1j*T27(eTLUQP<`MvzWM;i3NKDYw#e`Uu|`N+%#hV`%n7$okwpIalS^Pn8DsiF z3adXbEHCt?(SdF>4*z# zLv2Xf=QIEM8}l)xO3O`KiljdO#!UL@@;&`jjLcygDVr1?xU#gmwG3O7zAC3z zfyf%^n5!KOF|}e; zcL%`L#O);9X#3a01LeXG54@JWpL-YhGeXR(6QPtc*{bTzbKuAz$olEnsiQ~l=UyIy zz=>`k@9Ntqs*1U^kIFv4II3jV@YJa|7y6t0dC9iFmEw~c@;UjU$cA8tSEO0xA#UCp zgsviB`v9A;vOpUstvG8F-G7r!kD%7RpwGv`B5Qj+l>=v(;r4VK~-jdA8toE>*xRRP zhte`)Hga&6+ntVz#>}Ylfih4?S@gsAiox+P-|dNp4Q1uUqAZo}8EN@AtLe5hCTzY% zSFNsJ;k_rF)R}C2V07R@65PLq~%c~&YBq?ThE9Frpn#(^mOpne#5K8*;^R07| zScsX{*?3nZW6`95-O!aZom#R*CIXi;;ZtwpJMfs@t?#5VsSB~+?U5JSBh$Tmi>#@o z(0AY5d;M{4(@!6^Z=;K+5CjG^v=_zv+ApDB;G-rWE;t}{^-`txAAgeJ##x{;cwCIYw=IKE;OlL-MM;;rt5g$q2gRY1gAtv5 zqfhlH8Xm{VKtfL^tI`*CK8dAay)$>s`)kpA%P@MAOI2UI!S-n-pKfj^3yy%l1zqSU z4{Gu#_E)km-RjjX^`5;-(;jS@k*zF~-q>mlN1my3lk82QZ8KM$72Kn`;wIFEVQV+FiBST03@byp3hb&+(|3=bIbU zEmC)0w~H(S>zMj-&rQ~$w|UKBs}|k6vPtdrywkLnygCz(-3?m5c{#=XCq995Nwt1+ zOS613IVj9Ma-^;MgUppbcdEC#>DvL$40h=}9M+Y<;_Tmgm1K{b{V$QmRLL>pFAITU zaJ&3bJ9nmC9WhV?F*#k@R^POERA>DO4O7T2p$Z2~u)45%uqtJZ{#<>eK0CeSQDQ2p$Y~FsFhigwv`WJq3 zFOHP*I<7UNH$zXIg>|&oXTxt*YeP~l^MkVv-Lyft;|ka`Ym(lG>38x-W-{tkz)+mM zso;{h#4iNugw0FAx+!1hYBez~b8uiouaxfF>ITi|md*xWGs0vooDz(B<*&~94{)ko zq7$cmMAP0rUvbzi4B0*$I*@4Y9tu`=(3n1Z&3|Fx5mh`&xy8Po2qXMU@c-{@fAGHm DdbL6T literal 0 HcmV?d00001 diff --git a/frontend/src/components/DataConnectorOption/media/github.svg b/frontend/src/components/DataConnectorOption/media/github.svg new file mode 100644 index 0000000..e017221 --- /dev/null +++ b/frontend/src/components/DataConnectorOption/media/github.svg @@ -0,0 +1,4 @@ + + + + diff --git a/frontend/src/components/DataConnectorOption/media/index.js b/frontend/src/components/DataConnectorOption/media/index.js new file mode 100644 index 0000000..dee46a1 --- /dev/null +++ b/frontend/src/components/DataConnectorOption/media/index.js @@ -0,0 +1,13 @@ +import Github from "./github.svg"; +import YouTube from "./youtube.svg"; +import Link from "./link.svg"; +import Confluence from "./confluence.jpeg"; + +const ConnectorImages = { + github: Github, + youtube: YouTube, + websiteDepth: Link, + confluence: Confluence, +}; + +export default ConnectorImages; diff --git a/frontend/src/components/DataConnectorOption/media/link.svg b/frontend/src/components/DataConnectorOption/media/link.svg new file mode 100644 index 0000000..c957e54 --- /dev/null +++ b/frontend/src/components/DataConnectorOption/media/link.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/components/DataConnectorOption/media/youtube.svg b/frontend/src/components/DataConnectorOption/media/youtube.svg new file mode 100644 index 0000000..5fd9776 --- /dev/null +++ b/frontend/src/components/DataConnectorOption/media/youtube.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/frontend/src/components/DefaultChat/index.jsx b/frontend/src/components/DefaultChat/index.jsx new file mode 100644 index 0000000..a20e323 --- /dev/null +++ b/frontend/src/components/DefaultChat/index.jsx @@ -0,0 +1,363 @@ +import React, { useEffect, useState } from "react"; +import { + GithubLogo, + GitMerge, + EnvelopeSimple, + Plus, +} from "@phosphor-icons/react"; +import NewWorkspaceModal, { + useNewWorkspaceModal, +} from "../Modals/NewWorkspace"; +import paths from "@/utils/paths"; +import { isMobile } from "react-device-detect"; +import { SidebarMobileHeader } from "../Sidebar"; +import ChatBubble from "../ChatBubble"; +import System from "@/models/system"; +import Jazzicon from "../UserIcon"; +import { userFromStorage } from "@/utils/request"; +import { AI_BACKGROUND_COLOR, USER_BACKGROUND_COLOR } from "@/utils/constants"; +import useUser from "@/hooks/useUser"; + +export default function DefaultChatContainer() { + const [mockMsgs, setMockMessages] = useState([]); + const { user } = useUser(); + const [fetchedMessages, setFetchedMessages] = useState([]); + const { + showing: showingNewWsModal, + showModal: showNewWsModal, + hideModal: hideNewWsModal, + } = useNewWorkspaceModal(); + const popMsg = !window.localStorage.getItem("anythingllm_intro"); + + useEffect(() => { + const fetchData = async () => { + const fetchedMessages = await System.getWelcomeMessages(); + setFetchedMessages(fetchedMessages); + }; + fetchData(); + }, []); + + const MESSAGES = [ + +
+
+
+ + + + Welcome to AnythingLLM, AnythingLLM is an open-source AI tool by + Mintplex Labs that turns anything into a trained chatbot you can + query and chat with. AnythingLLM is a BYOK (bring-your-own-keys) + software so there is no subscription, fee, or charges for this + software outside of the services you want to use with it. + +
+
+
+
, + + +
+
+
+ + + + AnythingLLM is the easiest way to put powerful AI products like + OpenAi, GPT-4, LangChain, PineconeDB, ChromaDB, and other services + together in a neat package with no fuss to increase your + productivity by 100x. + +
+
+
+
, + + +
+
+
+ +
+ + AnythingLLM can run totally locally on your machine with little + overhead you wont even notice it's there! No GPU needed. Cloud + and on-premises installation is available as well. +
+ The AI tooling ecosystem gets more powerful everyday. + AnythingLLM makes it easy to use. +
+ + +

Create an issue on Github

+
+
+
+
+
+
, + + +
+
+
+ + + + How do I get started?! + +
+
+
+
, + + +
+
+
+ +
+ + It's simple. All collections are organized into buckets we call{" "} + "Workspaces". Workspaces are buckets of files, documents, + images, PDFs, and other files which will be transformed into + something LLM's can understand and use in conversation. +
+
+ You can add and remove files at anytime. +
+ + {(!user || user?.role !== "default") && ( + + )} +
+
+
+
+
, + + +
+
+
+ + + + Is this like an AI dropbox or something? What about chatting? It + is a chatbot isn't it? + +
+
+
+
, + + +
+
+
+ + + + AnythingLLM is more than a smarter Dropbox. +
+
+ AnythingLLM offers two ways of talking with your data: +
+
+ Query: Your chats will return data or inferences found with + the documents in your workspace it has access to. Adding more + documents to the Workspace make it smarter! +
+
+ Conversational: Your documents + your on-going chat history + both contribute to the LLM knowledge at the same time. Great for + appending real-time text-based info or corrections and + misunderstandings the LLM might have. +
+
+ You can toggle between either mode{" "} + in the middle of chatting! +
+
+
+
+
, + + +
+
+
+ + + + Wow, this sounds amazing, let me try it out already! + +
+
+
+
, + + +
+
+ +
+
+
, + ]; + + useEffect(() => { + function processMsgs() { + if (!!window.localStorage.getItem("anythingllm_intro")) { + setMockMessages([...MESSAGES]); + return false; + } else { + setMockMessages([MESSAGES[0]]); + } + + var timer = 500; + var messages = []; + + MESSAGES.map((child) => { + setTimeout(() => { + setMockMessages([...messages, child]); + messages.push(child); + }, timer); + timer += 2_500; + }); + window.localStorage.setItem("anythingllm_intro", 1); + } + + processMsgs(); + }, []); + + return ( +
+ {isMobile && } + {fetchedMessages.length === 0 + ? mockMsgs.map((content, i) => { + return {content}; + }) + : fetchedMessages.map((fetchedMessage, i) => { + return ( + + + + ); + })} + {showingNewWsModal && } +
+ ); +} diff --git a/frontend/src/components/EditingChatBubble/index.jsx b/frontend/src/components/EditingChatBubble/index.jsx new file mode 100644 index 0000000..0aa2a07 --- /dev/null +++ b/frontend/src/components/EditingChatBubble/index.jsx @@ -0,0 +1,65 @@ +import React, { useState } from "react"; +import { X } from "@phosphor-icons/react"; + +export default function EditingChatBubble({ + message, + index, + type, + handleMessageChange, + removeMessage, +}) { + const [isEditing, setIsEditing] = useState(false); + const [tempMessage, setTempMessage] = useState(message[type]); + const isUser = type === "user"; + + return ( +
+

+ {isUser ? "User" : "AnythingLLM Chat Assistant"} +

+
+ +
setIsEditing(true)} + > + {isEditing ? ( + setTempMessage(e.target.value)} + onBlur={() => { + handleMessageChange(index, type, tempMessage); + setIsEditing(false); + }} + autoFocus + className={`w-full ${ + isUser ? "bg-[#41444C] text-white" : "bg-[#2E3036] text-white" + }`} + /> + ) : ( + tempMessage && ( +

+ {tempMessage} +

+ ) + )} +
+
+
+ ); +} diff --git a/frontend/src/components/EmbeddingSelection/AzureAiOptions/index.jsx b/frontend/src/components/EmbeddingSelection/AzureAiOptions/index.jsx new file mode 100644 index 0000000..209c0aa --- /dev/null +++ b/frontend/src/components/EmbeddingSelection/AzureAiOptions/index.jsx @@ -0,0 +1,55 @@ +export default function AzureAiOptions({ settings }) { + return ( +
+
+
+ + +
+ +
+ + +
+ +
+ + +
+
+
+ ); +} diff --git a/frontend/src/components/EmbeddingSelection/CohereOptions/index.jsx b/frontend/src/components/EmbeddingSelection/CohereOptions/index.jsx new file mode 100644 index 0000000..7cb0923 --- /dev/null +++ b/frontend/src/components/EmbeddingSelection/CohereOptions/index.jsx @@ -0,0 +1,55 @@ +export default function CohereEmbeddingOptions({ settings }) { + return ( +
+
+
+ + +
+
+ + +
+
+
+ ); +} diff --git a/frontend/src/components/EmbeddingSelection/EmbedderItem/index.jsx b/frontend/src/components/EmbeddingSelection/EmbedderItem/index.jsx new file mode 100644 index 0000000..72b3d73 --- /dev/null +++ b/frontend/src/components/EmbeddingSelection/EmbedderItem/index.jsx @@ -0,0 +1,37 @@ +export default function EmbedderItem({ + name, + value, + image, + description, + checked, + onClick, +}) { + return ( +
onClick(value)} + className={`w-full p-2 rounded-md hover:cursor-pointer hover:bg-white/10 ${ + checked ? "bg-white/10" : "" + }`} + > + +
+ {`${name} +
+
{name}
+
{description}
+
+
+
+ ); +} diff --git a/frontend/src/components/EmbeddingSelection/LMStudioOptions/index.jsx b/frontend/src/components/EmbeddingSelection/LMStudioOptions/index.jsx new file mode 100644 index 0000000..1192ce6 --- /dev/null +++ b/frontend/src/components/EmbeddingSelection/LMStudioOptions/index.jsx @@ -0,0 +1,120 @@ +import React, { useEffect, useState } from "react"; +import System from "@/models/system"; + +export default function LMStudioEmbeddingOptions({ settings }) { + const [basePathValue, setBasePathValue] = useState( + settings?.EmbeddingBasePath + ); + const [basePath, setBasePath] = useState(settings?.EmbeddingBasePath); + + return ( +
+
+
+ + setBasePathValue(e.target.value)} + onBlur={() => setBasePath(basePathValue)} + required={true} + autoComplete="off" + spellCheck={false} + /> +
+ +
+ + e.target.blur()} + defaultValue={settings?.EmbeddingModelMaxChunkLength} + required={false} + autoComplete="off" + /> +
+
+
+ ); +} + +function LMStudioModelSelection({ settings, basePath = null }) { + const [customModels, setCustomModels] = useState([]); + const [loading, setLoading] = useState(true); + + useEffect(() => { + async function findCustomModels() { + if (!basePath || !basePath.includes("/v1")) { + setCustomModels([]); + setLoading(false); + return; + } + setLoading(true); + const { models } = await System.customModels("lmstudio", null, basePath); + setCustomModels(models || []); + setLoading(false); + } + findCustomModels(); + }, [basePath]); + + if (loading || customModels.length == 0) { + return ( +
+ + +
+ ); + } + + return ( +
+ + +
+ ); +} diff --git a/frontend/src/components/EmbeddingSelection/LocalAiOptions/index.jsx b/frontend/src/components/EmbeddingSelection/LocalAiOptions/index.jsx new file mode 100644 index 0000000..8c611cd --- /dev/null +++ b/frontend/src/components/EmbeddingSelection/LocalAiOptions/index.jsx @@ -0,0 +1,151 @@ +import React, { useEffect, useState } from "react"; +import System from "@/models/system"; + +export default function LocalAiOptions({ settings }) { + const [basePathValue, setBasePathValue] = useState( + settings?.EmbeddingBasePath + ); + const [basePath, setBasePath] = useState(settings?.EmbeddingBasePath); + const [apiKeyValue, setApiKeyValue] = useState(settings?.LocalAiApiKey); + const [apiKey, setApiKey] = useState(settings?.LocalAiApiKey); + + return ( +
+
+
+ + setBasePathValue(e.target.value)} + onBlur={() => setBasePath(basePathValue)} + required={true} + autoComplete="off" + spellCheck={false} + /> +
+ +
+ + e.target.blur()} + defaultValue={settings?.EmbeddingModelMaxChunkLength} + required={false} + autoComplete="off" + /> +
+
+
+
+
+ +
+ setApiKeyValue(e.target.value)} + onBlur={() => setApiKey(apiKeyValue)} + /> +
+
+
+ ); +} + +function LocalAIModelSelection({ settings, apiKey = null, basePath = null }) { + const [customModels, setCustomModels] = useState([]); + const [loading, setLoading] = useState(true); + + useEffect(() => { + async function findCustomModels() { + if (!basePath || !basePath.includes("/v1")) { + setCustomModels([]); + setLoading(false); + return; + } + setLoading(true); + const { models } = await System.customModels( + "localai", + typeof apiKey === "boolean" ? null : apiKey, + basePath + ); + setCustomModels(models || []); + setLoading(false); + } + findCustomModels(); + }, [basePath, apiKey]); + + if (loading || customModels.length == 0) { + return ( +
+ + +
+ ); + } + + return ( +
+ + +
+ ); +} diff --git a/frontend/src/components/EmbeddingSelection/NativeEmbeddingOptions/index.jsx b/frontend/src/components/EmbeddingSelection/NativeEmbeddingOptions/index.jsx new file mode 100644 index 0000000..1cbfc68 --- /dev/null +++ b/frontend/src/components/EmbeddingSelection/NativeEmbeddingOptions/index.jsx @@ -0,0 +1,10 @@ +export default function NativeEmbeddingOptions() { + return ( +
+

+ There is no set up required when using AnythingLLM's native embedding + engine. +

+
+ ); +} diff --git a/frontend/src/components/EmbeddingSelection/OllamaOptions/index.jsx b/frontend/src/components/EmbeddingSelection/OllamaOptions/index.jsx new file mode 100644 index 0000000..3213f5d --- /dev/null +++ b/frontend/src/components/EmbeddingSelection/OllamaOptions/index.jsx @@ -0,0 +1,120 @@ +import React, { useEffect, useState } from "react"; +import System from "@/models/system"; + +export default function OllamaEmbeddingOptions({ settings }) { + const [basePathValue, setBasePathValue] = useState( + settings?.EmbeddingBasePath + ); + const [basePath, setBasePath] = useState(settings?.EmbeddingBasePath); + + return ( +
+
+
+ + setBasePathValue(e.target.value)} + onBlur={() => setBasePath(basePathValue)} + required={true} + autoComplete="off" + spellCheck={false} + /> +
+ +
+ + e.target.blur()} + defaultValue={settings?.EmbeddingModelMaxChunkLength} + required={false} + autoComplete="off" + /> +
+
+
+ ); +} + +function OllamaLLMModelSelection({ settings, basePath = null }) { + const [customModels, setCustomModels] = useState([]); + const [loading, setLoading] = useState(true); + + useEffect(() => { + async function findCustomModels() { + if (!basePath) { + setCustomModels([]); + setLoading(false); + return; + } + setLoading(true); + const { models } = await System.customModels("ollama", null, basePath); + setCustomModels(models || []); + setLoading(false); + } + findCustomModels(); + }, [basePath]); + + if (loading || customModels.length == 0) { + return ( +
+ + +
+ ); + } + + return ( +
+ + +
+ ); +} diff --git a/frontend/src/components/EmbeddingSelection/OpenAiOptions/index.jsx b/frontend/src/components/EmbeddingSelection/OpenAiOptions/index.jsx new file mode 100644 index 0000000..af266d5 --- /dev/null +++ b/frontend/src/components/EmbeddingSelection/OpenAiOptions/index.jsx @@ -0,0 +1,51 @@ +export default function OpenAiOptions({ settings }) { + return ( +
+
+
+ + +
+
+ + +
+
+
+ ); +} diff --git a/frontend/src/components/Footer/index.jsx b/frontend/src/components/Footer/index.jsx new file mode 100644 index 0000000..10cd80c --- /dev/null +++ b/frontend/src/components/Footer/index.jsx @@ -0,0 +1,107 @@ +import System from "@/models/system"; +import paths from "@/utils/paths"; +import { + BookOpen, + DiscordLogo, + GithubLogo, + Briefcase, + Envelope, + Globe, + HouseLine, + Info, + LinkSimple, +} from "@phosphor-icons/react"; +import React, { useEffect, useState } from "react"; +import SettingsButton from "../SettingsButton"; +import { isMobile } from "react-device-detect"; + +export const MAX_ICONS = 3; +export const ICON_COMPONENTS = { + BookOpen: BookOpen, + DiscordLogo: DiscordLogo, + GithubLogo: GithubLogo, + Envelope: Envelope, + LinkSimple: LinkSimple, + HouseLine: HouseLine, + Globe: Globe, + Briefcase: Briefcase, + Info: Info, +}; + +export default function Footer() { + const [footerData, setFooterData] = useState(false); + + useEffect(() => { + async function fetchFooterData() { + const { footerData } = await System.fetchCustomFooterIcons(); + setFooterData(footerData); + } + fetchFooterData(); + }, []); + + // wait for some kind of non-false response from footer data first + // to prevent pop-in. + if (footerData === false) return null; + + if (!Array.isArray(footerData) || footerData.length === 0) { + return ( +
+
+ + + + + + + + + + {!isMobile && } +
+
+ ); + } + + return ( + + ); +} diff --git a/frontend/src/components/LLMSelection/AnthropicAiOptions/index.jsx b/frontend/src/components/LLMSelection/AnthropicAiOptions/index.jsx new file mode 100644 index 0000000..9fe283f --- /dev/null +++ b/frontend/src/components/LLMSelection/AnthropicAiOptions/index.jsx @@ -0,0 +1,52 @@ +export default function AnthropicAiOptions({ settings }) { + return ( +
+
+
+ + +
+ + {!settings?.credentialsOnly && ( +
+ + +
+ )} +
+
+ ); +} diff --git a/frontend/src/components/LLMSelection/AzureAiOptions/index.jsx b/frontend/src/components/LLMSelection/AzureAiOptions/index.jsx new file mode 100644 index 0000000..224582e --- /dev/null +++ b/frontend/src/components/LLMSelection/AzureAiOptions/index.jsx @@ -0,0 +1,92 @@ +export default function AzureAiOptions({ settings }) { + return ( +
+
+
+ + +
+ +
+ + +
+ +
+ + +
+
+ +
+
+ + +
+ +
+ + +
+
+
+
+ ); +} diff --git a/frontend/src/components/LLMSelection/CohereAiOptions/index.jsx b/frontend/src/components/LLMSelection/CohereAiOptions/index.jsx new file mode 100644 index 0000000..a20c8b8 --- /dev/null +++ b/frontend/src/components/LLMSelection/CohereAiOptions/index.jsx @@ -0,0 +1,49 @@ +export default function CohereAiOptions({ settings }) { + return ( +
+
+
+ + +
+
+ + +
+
+
+ ); +} diff --git a/frontend/src/components/LLMSelection/GeminiLLMOptions/index.jsx b/frontend/src/components/LLMSelection/GeminiLLMOptions/index.jsx new file mode 100644 index 0000000..8cb513f --- /dev/null +++ b/frontend/src/components/LLMSelection/GeminiLLMOptions/index.jsx @@ -0,0 +1,45 @@ +export default function GeminiLLMOptions({ settings }) { + return ( +
+
+
+ + +
+ + {!settings?.credentialsOnly && ( +
+ + +
+ )} +
+
+ ); +} diff --git a/frontend/src/components/LLMSelection/GenericOpenAiOptions/index.jsx b/frontend/src/components/LLMSelection/GenericOpenAiOptions/index.jsx new file mode 100644 index 0000000..ac143e9 --- /dev/null +++ b/frontend/src/components/LLMSelection/GenericOpenAiOptions/index.jsx @@ -0,0 +1,81 @@ +export default function GenericOpenAiOptions({ settings }) { + return ( +
+
+ + +
+
+ + +
+
+ + +
+
+ + e.target.blur()} + defaultValue={settings?.GenericOpenAiTokenLimit} + required={true} + autoComplete="off" + /> +
+
+ + +
+
+ ); +} diff --git a/frontend/src/components/LLMSelection/GroqAiOptions/index.jsx b/frontend/src/components/LLMSelection/GroqAiOptions/index.jsx new file mode 100644 index 0000000..2b02e14 --- /dev/null +++ b/frontend/src/components/LLMSelection/GroqAiOptions/index.jsx @@ -0,0 +1,48 @@ +export default function GroqAiOptions({ settings }) { + return ( +
+
+ + +
+ + {!settings?.credentialsOnly && ( +
+ + +
+ )} +
+ ); +} diff --git a/frontend/src/components/LLMSelection/HuggingFaceOptions/index.jsx b/frontend/src/components/LLMSelection/HuggingFaceOptions/index.jsx new file mode 100644 index 0000000..c93a945 --- /dev/null +++ b/frontend/src/components/LLMSelection/HuggingFaceOptions/index.jsx @@ -0,0 +1,56 @@ +export default function HuggingFaceOptions({ settings }) { + return ( +
+
+
+ + +
+
+ + +
+
+ + e.target.blur()} + defaultValue={settings?.HuggingFaceLLMTokenLimit} + required={true} + autoComplete="off" + /> +
+
+
+ ); +} diff --git a/frontend/src/components/LLMSelection/KoboldCPPOptions/index.jsx b/frontend/src/components/LLMSelection/KoboldCPPOptions/index.jsx new file mode 100644 index 0000000..7e5e20a --- /dev/null +++ b/frontend/src/components/LLMSelection/KoboldCPPOptions/index.jsx @@ -0,0 +1,112 @@ +import { useState, useEffect } from "react"; +import System from "@/models/system"; + +export default function KoboldCPPOptions({ settings }) { + const [basePathValue, setBasePathValue] = useState( + settings?.KoboldCPPBasePath + ); + const [basePath, setBasePath] = useState(settings?.KoboldCPPBasePath); + + return ( +
+
+ + setBasePathValue(e.target.value)} + onBlur={() => setBasePath(basePathValue)} + /> +
+ +
+ + e.target.blur()} + defaultValue={settings?.KoboldCPPTokenLimit} + required={true} + autoComplete="off" + /> +
+
+ ); +} + +function KoboldCPPModelSelection({ settings, basePath = null }) { + const [customModels, setCustomModels] = useState([]); + const [loading, setLoading] = useState(true); + + useEffect(() => { + async function findCustomModels() { + if (!basePath || !basePath.includes("/v1")) { + setCustomModels([]); + setLoading(false); + return; + } + setLoading(true); + const { models } = await System.customModels("koboldcpp", null, basePath); + setCustomModels(models || []); + setLoading(false); + } + findCustomModels(); + }, [basePath]); + + if (loading || customModels.length === 0) { + return ( +
+ + +
+ ); + } + + return ( +
+ + +
+ ); +} diff --git a/frontend/src/components/LLMSelection/LLMItem/index.jsx b/frontend/src/components/LLMSelection/LLMItem/index.jsx new file mode 100644 index 0000000..e6b643a --- /dev/null +++ b/frontend/src/components/LLMSelection/LLMItem/index.jsx @@ -0,0 +1,37 @@ +export default function LLMItem({ + name, + value, + image, + description, + checked, + onClick, +}) { + return ( +
onClick(value)} + className={`w-full p-2 rounded-md hover:cursor-pointer hover:bg-white/10 ${ + checked ? "bg-white/10" : "" + }`} + > + +
+ {`${name} +
+
{name}
+
{description}
+
+
+
+ ); +} diff --git a/frontend/src/components/LLMSelection/LLMProviderOption/index.jsx b/frontend/src/components/LLMSelection/LLMProviderOption/index.jsx new file mode 100644 index 0000000..3c3ed44 --- /dev/null +++ b/frontend/src/components/LLMSelection/LLMProviderOption/index.jsx @@ -0,0 +1,37 @@ +export default function LLMProviderOption({ + name, + link, + description, + value, + image, + checked = false, + onClick, +}) { + return ( +
onClick(value)}> + + +
+ ); +} diff --git a/frontend/src/components/LLMSelection/LMStudioOptions/index.jsx b/frontend/src/components/LLMSelection/LMStudioOptions/index.jsx new file mode 100644 index 0000000..9a1c59b --- /dev/null +++ b/frontend/src/components/LLMSelection/LMStudioOptions/index.jsx @@ -0,0 +1,143 @@ +import { useEffect, useState } from "react"; +import { Info } from "@phosphor-icons/react"; +import paths from "@/utils/paths"; +import System from "@/models/system"; + +export default function LMStudioOptions({ settings, showAlert = false }) { + const [basePathValue, setBasePathValue] = useState( + settings?.LMStudioBasePath + ); + const [basePath, setBasePath] = useState(settings?.LMStudioBasePath); + + return ( +
+ {showAlert && ( +
+
+ +

+ LMStudio as your LLM requires you to set an embedding service to + use. +

+
+ + Manage embedding → + +
+ )} +
+
+ + setBasePathValue(e.target.value)} + onBlur={() => setBasePath(basePathValue)} + /> +
+ {!settings?.credentialsOnly && ( + <> + +
+ + e.target.blur()} + defaultValue={settings?.LMStudioTokenLimit} + required={true} + autoComplete="off" + /> +
+ + )} +
+
+ ); +} + +function LMStudioModelSelection({ settings, basePath = null }) { + const [customModels, setCustomModels] = useState([]); + const [loading, setLoading] = useState(true); + + useEffect(() => { + async function findCustomModels() { + if (!basePath || !basePath.includes("/v1")) { + setCustomModels([]); + setLoading(false); + return; + } + setLoading(true); + const { models } = await System.customModels("lmstudio", null, basePath); + setCustomModels(models || []); + setLoading(false); + } + findCustomModels(); + }, [basePath]); + + if (loading || customModels.length == 0) { + return ( +
+ + +
+ ); + } + + return ( +
+ + +
+ ); +} diff --git a/frontend/src/components/LLMSelection/LocalAiOptions/index.jsx b/frontend/src/components/LLMSelection/LocalAiOptions/index.jsx new file mode 100644 index 0000000..1304c9e --- /dev/null +++ b/frontend/src/components/LLMSelection/LocalAiOptions/index.jsx @@ -0,0 +1,173 @@ +import { useEffect, useState } from "react"; +import { Info } from "@phosphor-icons/react"; +import paths from "@/utils/paths"; +import System from "@/models/system"; + +export default function LocalAiOptions({ settings, showAlert = false }) { + const [basePathValue, setBasePathValue] = useState(settings?.LocalAiBasePath); + const [basePath, setBasePath] = useState(settings?.LocalAiBasePath); + const [apiKeyValue, setApiKeyValue] = useState(settings?.LocalAiApiKey); + const [apiKey, setApiKey] = useState(settings?.LocalAiApiKey); + + return ( +
+ {showAlert && ( +
+
+ +

+ LocalAI as your LLM requires you to set an embedding service to + use. +

+
+ + Manage embedding → + +
+ )} +
+
+ + setBasePathValue(e.target.value)} + onBlur={() => setBasePath(basePathValue)} + /> +
+ {!settings?.credentialsOnly && ( + <> + +
+ + e.target.blur()} + defaultValue={settings?.LocalAiTokenLimit} + required={true} + autoComplete="off" + /> +
+ + )} +
+
+
+
+ +
+ + setApiKeyValue(e.target.value)} + onBlur={() => setApiKey(apiKeyValue)} + /> +
+
+
+ ); +} + +function LocalAIModelSelection({ settings, basePath = null, apiKey = null }) { + const [customModels, setCustomModels] = useState([]); + const [loading, setLoading] = useState(true); + + useEffect(() => { + async function findCustomModels() { + if (!basePath || !basePath.includes("/v1")) { + setCustomModels([]); + setLoading(false); + return; + } + setLoading(true); + const { models } = await System.customModels( + "localai", + typeof apiKey === "boolean" ? null : apiKey, + basePath + ); + setCustomModels(models || []); + setLoading(false); + } + findCustomModels(); + }, [basePath, apiKey]); + + if (loading || customModels.length == 0) { + return ( +
+ + +
+ ); + } + + return ( +
+ + +
+ ); +} diff --git a/frontend/src/components/LLMSelection/MistralOptions/index.jsx b/frontend/src/components/LLMSelection/MistralOptions/index.jsx new file mode 100644 index 0000000..4daadcf --- /dev/null +++ b/frontend/src/components/LLMSelection/MistralOptions/index.jsx @@ -0,0 +1,105 @@ +import { useState, useEffect } from "react"; +import System from "@/models/system"; + +export default function MistralOptions({ settings }) { + const [inputValue, setInputValue] = useState(settings?.MistralApiKey); + const [mistralKey, setMistralKey] = useState(settings?.MistralApiKey); + + return ( +
+
+ + setInputValue(e.target.value)} + onBlur={() => setMistralKey(inputValue)} + /> +
+ {!settings?.credentialsOnly && ( + + )} +
+ ); +} + +function MistralModelSelection({ apiKey, settings }) { + const [customModels, setCustomModels] = useState([]); + const [loading, setLoading] = useState(true); + + useEffect(() => { + async function findCustomModels() { + if (!apiKey) { + setCustomModels([]); + setLoading(false); + return; + } + setLoading(true); + const { models } = await System.customModels( + "mistral", + typeof apiKey === "boolean" ? null : apiKey + ); + setCustomModels(models || []); + setLoading(false); + } + findCustomModels(); + }, [apiKey]); + + if (loading || customModels.length == 0) { + return ( +
+ + +
+ ); + } + + return ( +
+ + +
+ ); +} diff --git a/frontend/src/components/LLMSelection/NativeLLMOptions/index.jsx b/frontend/src/components/LLMSelection/NativeLLMOptions/index.jsx new file mode 100644 index 0000000..bb46c9c --- /dev/null +++ b/frontend/src/components/LLMSelection/NativeLLMOptions/index.jsx @@ -0,0 +1,102 @@ +import { useEffect, useState } from "react"; +import { Flask } from "@phosphor-icons/react"; +import System from "@/models/system"; + +export default function NativeLLMOptions({ settings }) { + return ( +
+
+
+ +

+ Using a locally hosted LLM is experimental. Use with caution. +

+
+
+
+ +
+
+ ); +} + +function NativeModelSelection({ settings }) { + const [customModels, setCustomModels] = useState([]); + const [loading, setLoading] = useState(true); + + useEffect(() => { + async function findCustomModels() { + setLoading(true); + const { models } = await System.customModels("native-llm", null, null); + setCustomModels(models || []); + setLoading(false); + } + findCustomModels(); + }, []); + + if (loading || customModels.length == 0) { + return ( +
+ + +
+ ); + } + + return ( + <> +
+ + +
+
+ + e.target.blur()} + defaultValue={settings?.NativeLLMTokenLimit} + required={true} + autoComplete="off" + /> +
+ + ); +} diff --git a/frontend/src/components/LLMSelection/OllamaLLMOptions/index.jsx b/frontend/src/components/LLMSelection/OllamaLLMOptions/index.jsx new file mode 100644 index 0000000..b08f294 --- /dev/null +++ b/frontend/src/components/LLMSelection/OllamaLLMOptions/index.jsx @@ -0,0 +1,124 @@ +import { useEffect, useState } from "react"; +import System from "@/models/system"; + +export default function OllamaLLMOptions({ settings }) { + const [basePathValue, setBasePathValue] = useState( + settings?.OllamaLLMBasePath + ); + const [basePath, setBasePath] = useState(settings?.OllamaLLMBasePath); + + return ( +
+
+
+ + setBasePathValue(e.target.value)} + onBlur={() => setBasePath(basePathValue)} + /> +
+ {!settings?.credentialsOnly && ( + <> + +
+ + e.target.blur()} + defaultValue={settings?.OllamaLLMTokenLimit} + required={true} + autoComplete="off" + /> +
+ + )} +
+
+ ); +} + +function OllamaLLMModelSelection({ settings, basePath = null }) { + const [customModels, setCustomModels] = useState([]); + const [loading, setLoading] = useState(true); + + useEffect(() => { + async function findCustomModels() { + if (!basePath) { + setCustomModels([]); + setLoading(false); + return; + } + setLoading(true); + const { models } = await System.customModels("ollama", null, basePath); + setCustomModels(models || []); + setLoading(false); + } + findCustomModels(); + }, [basePath]); + + if (loading || customModels.length == 0) { + return ( +
+ + +
+ ); + } + + return ( +
+ + +
+ ); +} diff --git a/frontend/src/components/LLMSelection/OpenAiOptions/index.jsx b/frontend/src/components/LLMSelection/OpenAiOptions/index.jsx new file mode 100644 index 0000000..67f7d29 --- /dev/null +++ b/frontend/src/components/LLMSelection/OpenAiOptions/index.jsx @@ -0,0 +1,107 @@ +import { useState, useEffect } from "react"; +import System from "@/models/system"; + +export default function OpenAiOptions({ settings }) { + const [inputValue, setInputValue] = useState(settings?.OpenAiKey); + const [openAIKey, setOpenAIKey] = useState(settings?.OpenAiKey); + + return ( +
+
+ + setInputValue(e.target.value)} + onBlur={() => setOpenAIKey(inputValue)} + /> +
+ {!settings?.credentialsOnly && ( + + )} +
+ ); +} + +function OpenAIModelSelection({ apiKey, settings }) { + const [groupedModels, setGroupedModels] = useState({}); + const [loading, setLoading] = useState(true); + + useEffect(() => { + async function findCustomModels() { + setLoading(true); + const { models } = await System.customModels( + "openai", + typeof apiKey === "boolean" ? null : apiKey + ); + + if (models?.length > 0) { + const modelsByOrganization = models.reduce((acc, model) => { + acc[model.organization] = acc[model.organization] || []; + acc[model.organization].push(model); + return acc; + }, {}); + setGroupedModels(modelsByOrganization); + } + + setLoading(false); + } + findCustomModels(); + }, [apiKey]); + + if (loading) { + return ( +
+ + +
+ ); + } + + return ( +
+ + +
+ ); +} diff --git a/frontend/src/components/LLMSelection/OpenRouterOptions/index.jsx b/frontend/src/components/LLMSelection/OpenRouterOptions/index.jsx new file mode 100644 index 0000000..94ae320 --- /dev/null +++ b/frontend/src/components/LLMSelection/OpenRouterOptions/index.jsx @@ -0,0 +1,99 @@ +import System from "@/models/system"; +import { useState, useEffect } from "react"; + +export default function OpenRouterOptions({ settings }) { + return ( +
+
+ + +
+ {!settings?.credentialsOnly && ( + + )} +
+ ); +} + +function OpenRouterModelSelection({ settings }) { + const [groupedModels, setGroupedModels] = useState({}); + const [loading, setLoading] = useState(true); + + useEffect(() => { + async function findCustomModels() { + setLoading(true); + const { models } = await System.customModels("openrouter"); + if (models?.length > 0) { + const modelsByOrganization = models.reduce((acc, model) => { + acc[model.organization] = acc[model.organization] || []; + acc[model.organization].push(model); + return acc; + }, {}); + + setGroupedModels(modelsByOrganization); + } + + setLoading(false); + } + findCustomModels(); + }, []); + + if (loading || Object.keys(groupedModels).length === 0) { + return ( +
+ + +
+ ); + } + + return ( +
+ + +
+ ); +} diff --git a/frontend/src/components/LLMSelection/PerplexityOptions/index.jsx b/frontend/src/components/LLMSelection/PerplexityOptions/index.jsx new file mode 100644 index 0000000..9b53cd1 --- /dev/null +++ b/frontend/src/components/LLMSelection/PerplexityOptions/index.jsx @@ -0,0 +1,90 @@ +import System from "@/models/system"; +import { useState, useEffect } from "react"; + +export default function PerplexityOptions({ settings }) { + return ( +
+
+ + +
+ {!settings?.credentialsOnly && ( + + )} +
+ ); +} + +function PerplexityModelSelection({ settings }) { + const [customModels, setCustomModels] = useState([]); + const [loading, setLoading] = useState(true); + + useEffect(() => { + async function findCustomModels() { + setLoading(true); + const { models } = await System.customModels("perplexity"); + setCustomModels(models || []); + setLoading(false); + } + findCustomModels(); + }, []); + + if (loading || customModels.length == 0) { + return ( +
+ + +
+ ); + } + + return ( +
+ + +
+ ); +} diff --git a/frontend/src/components/LLMSelection/TextGenWebUIOptions/index.jsx b/frontend/src/components/LLMSelection/TextGenWebUIOptions/index.jsx new file mode 100644 index 0000000..50bb841 --- /dev/null +++ b/frontend/src/components/LLMSelection/TextGenWebUIOptions/index.jsx @@ -0,0 +1,51 @@ +export default function TextGenWebUIOptions({ settings }) { + return ( +
+
+ + +
+
+ + e.target.blur()} + defaultValue={settings?.TextGenWebUITokenLimit} + required={true} + autoComplete="off" + /> +
+
+ + +
+
+ ); +} diff --git a/frontend/src/components/LLMSelection/TogetherAiOptions/index.jsx b/frontend/src/components/LLMSelection/TogetherAiOptions/index.jsx new file mode 100644 index 0000000..a5947a3 --- /dev/null +++ b/frontend/src/components/LLMSelection/TogetherAiOptions/index.jsx @@ -0,0 +1,99 @@ +import System from "@/models/system"; +import { useState, useEffect } from "react"; + +export default function TogetherAiOptions({ settings }) { + return ( +
+
+ + +
+ {!settings?.credentialsOnly && ( + + )} +
+ ); +} +function TogetherAiModelSelection({ settings }) { + const [groupedModels, setGroupedModels] = useState({}); + const [loading, setLoading] = useState(true); + + useEffect(() => { + async function findCustomModels() { + setLoading(true); + const { models } = await System.customModels("togetherai"); + + if (models?.length > 0) { + const modelsByOrganization = models.reduce((acc, model) => { + acc[model.organization] = acc[model.organization] || []; + acc[model.organization].push(model); + return acc; + }, {}); + + setGroupedModels(modelsByOrganization); + } + + setLoading(false); + } + findCustomModels(); + }, []); + + if (loading || Object.keys(groupedModels).length === 0) { + return ( +
+ + +
+ ); + } + + return ( +
+ + +
+ ); +} diff --git a/frontend/src/components/ModalWrapper/index.jsx b/frontend/src/components/ModalWrapper/index.jsx new file mode 100644 index 0000000..37041f6 --- /dev/null +++ b/frontend/src/components/ModalWrapper/index.jsx @@ -0,0 +1,9 @@ +export default function ModalWrapper({ children, isOpen }) { + if (!isOpen) return null; + + return ( +
+ {children} +
+ ); +} diff --git a/frontend/src/components/Modals/DisplayRecoveryCodeModal/index.jsx b/frontend/src/components/Modals/DisplayRecoveryCodeModal/index.jsx new file mode 100644 index 0000000..a75a353 --- /dev/null +++ b/frontend/src/components/Modals/DisplayRecoveryCodeModal/index.jsx @@ -0,0 +1,86 @@ +import showToast from "@/utils/toast"; +import { DownloadSimple, Key } from "@phosphor-icons/react"; +import { saveAs } from "file-saver"; +import { useState } from "react"; + +export default function RecoveryCodeModal({ + recoveryCodes, + onDownloadComplete, + onClose, +}) { + const [downloadClicked, setDownloadClicked] = useState(false); + + const downloadRecoveryCodes = () => { + const blob = new Blob([recoveryCodes.join("\n")], { type: "text/plain" }); + saveAs(blob, "recovery_codes.txt"); + setDownloadClicked(true); + }; + + const handleClose = () => { + if (downloadClicked) { + onDownloadComplete(); + onClose(); + } + }; + + const handleCopyToClipboard = () => { + navigator.clipboard.writeText(recoveryCodes.join(",\n")).then(() => { + showToast("Recovery codes copied to clipboard", "success", { + clear: true, + }); + }); + }; + + return ( +
+
+
+ + +
+
+

+ In order to reset your password in the future, you will need these + recovery codes. Download or copy your recovery codes to save them.{" "} +
+ These recovery codes are only shown once! +

+
+
    + {recoveryCodes.map((code, index) => ( +
  • + {code} +
  • + ))} +
+
+
+
+
+ +
+
+ ); +} diff --git a/frontend/src/components/Modals/MangeWorkspace/DataConnectors/ConnectorOption/index.jsx b/frontend/src/components/Modals/MangeWorkspace/DataConnectors/ConnectorOption/index.jsx new file mode 100644 index 0000000..e0b10e0 --- /dev/null +++ b/frontend/src/components/Modals/MangeWorkspace/DataConnectors/ConnectorOption/index.jsx @@ -0,0 +1,25 @@ +export default function ConnectorOption({ + slug, + selectedConnector, + setSelectedConnector, + image, + name, + description, +}) { + return ( + + ); +} diff --git a/frontend/src/components/Modals/MangeWorkspace/DataConnectors/Connectors/Confluence/index.jsx b/frontend/src/components/Modals/MangeWorkspace/DataConnectors/Connectors/Confluence/index.jsx new file mode 100644 index 0000000..52ca7e6 --- /dev/null +++ b/frontend/src/components/Modals/MangeWorkspace/DataConnectors/Connectors/Confluence/index.jsx @@ -0,0 +1,164 @@ +import { useState } from "react"; +import System from "@/models/system"; +import showToast from "@/utils/toast"; +import { Warning } from "@phosphor-icons/react"; +import { Tooltip } from "react-tooltip"; + +export default function ConfluenceOptions() { + const [loading, setLoading] = useState(false); + + const handleSubmit = async (e) => { + e.preventDefault(); + const form = new FormData(e.target); + + try { + setLoading(true); + showToast( + "Fetching all pages for Confluence space - this may take a while.", + "info", + { + clear: true, + autoClose: false, + } + ); + const { data, error } = await System.dataConnectors.confluence.collect({ + pageUrl: form.get("pageUrl"), + username: form.get("username"), + accessToken: form.get("accessToken"), + }); + + if (!!error) { + showToast(error, "error", { clear: true }); + setLoading(false); + return; + } + + showToast( + `Pages collected from Confluence space ${data.spaceKey}. Output folder is ${data.destination}.`, + "success", + { clear: true } + ); + e.target.reset(); + setLoading(false); + } catch (e) { + console.error(e); + showToast(e.message, "error", { clear: true }); + setLoading(false); + } + }; + + return ( +
+
+
+
+
+
+
+ +

+ URL of a page in the Confluence space. +

+
+ +
+
+
+ +

+ Your Confluence username. +

+
+ +
+
+
+ +

+ Access token for authentication. +

+
+ +
+
+
+ +
+ + {loading && ( +

+ Once complete, all pages will be available for embedding into + workspaces. +

+ )} +
+
+
+
+ ); +} diff --git a/frontend/src/components/Modals/MangeWorkspace/DataConnectors/Connectors/Github/index.jsx b/frontend/src/components/Modals/MangeWorkspace/DataConnectors/Connectors/Github/index.jsx new file mode 100644 index 0000000..de6ed77 --- /dev/null +++ b/frontend/src/components/Modals/MangeWorkspace/DataConnectors/Connectors/Github/index.jsx @@ -0,0 +1,271 @@ +import React, { useEffect, useState } from "react"; +import System from "@/models/system"; +import showToast from "@/utils/toast"; +import pluralize from "pluralize"; +import { TagsInput } from "react-tag-input-component"; +import { Warning } from "@phosphor-icons/react"; +import { Tooltip } from "react-tooltip"; + +const DEFAULT_BRANCHES = ["main", "master"]; +export default function GithubOptions() { + const [loading, setLoading] = useState(false); + const [repo, setRepo] = useState(null); + const [accessToken, setAccessToken] = useState(null); + const [ignores, setIgnores] = useState([]); + + const [settings, setSettings] = useState({ + repo: null, + accessToken: null, + }); + + const handleSubmit = async (e) => { + e.preventDefault(); + const form = new FormData(e.target); + + try { + setLoading(true); + showToast( + "Fetching all files for repo - this may take a while.", + "info", + { clear: true, autoClose: false } + ); + const { data, error } = await System.dataConnectors.github.collect({ + repo: form.get("repo"), + accessToken: form.get("accessToken"), + branch: form.get("branch"), + ignorePaths: ignores, + }); + + if (!!error) { + showToast(error, "error", { clear: true }); + setLoading(false); + return; + } + + showToast( + `${data.files} ${pluralize("file", data.files)} collected from ${ + data.author + }/${data.repo}:${data.branch}. Output folder is ${data.destination}.`, + "success", + { clear: true } + ); + e.target.reset(); + setLoading(false); + return; + } catch (e) { + console.error(e); + showToast(e.message, "error", { clear: true }); + setLoading(false); + } + }; + + return ( +
+
+
+
+
+
+
+ +

+ Url of the GitHub repo you wish to collect. +

+
+ setRepo(e.target.value)} + onBlur={() => setSettings({ ...settings, repo })} + spellCheck={false} + /> +
+
+
+ +

+ Access Token to prevent rate limiting. +

+
+ setAccessToken(e.target.value)} + onBlur={() => setSettings({ ...settings, accessToken })} + /> +
+ +
+ +
+
+ +

+ List in .gitignore format to ignore specific files during + collection. Press enter after each entry you want to save. +

+
+ +
+
+ +
+ + {loading && ( +

+ Once complete, all files will be available for embedding into + workspaces in the document picker. +

+ )} +
+
+
+
+ ); +} + +function GitHubBranchSelection({ repo, accessToken }) { + const [allBranches, setAllBranches] = useState(DEFAULT_BRANCHES); + const [loading, setLoading] = useState(true); + + useEffect(() => { + async function fetchAllBranches() { + if (!repo) { + setAllBranches(DEFAULT_BRANCHES); + setLoading(false); + return; + } + + setLoading(true); + const { branches } = await System.dataConnectors.github.branches({ + repo, + accessToken, + }); + setAllBranches(branches.length > 0 ? branches : DEFAULT_BRANCHES); + setLoading(false); + } + fetchAllBranches(); + }, [repo, accessToken]); + + if (loading) { + return ( +
+
+ +

+ Branch you wish to collect files from. +

+
+ +
+ ); + } + + return ( +
+
+ +

+ Branch you wish to collect files from. +

+
+ +
+ ); +} diff --git a/frontend/src/components/Modals/MangeWorkspace/DataConnectors/Connectors/WebsiteDepth/index.jsx b/frontend/src/components/Modals/MangeWorkspace/DataConnectors/Connectors/WebsiteDepth/index.jsx new file mode 100644 index 0000000..b3fc454 --- /dev/null +++ b/frontend/src/components/Modals/MangeWorkspace/DataConnectors/Connectors/WebsiteDepth/index.jsx @@ -0,0 +1,134 @@ +import React, { useState } from "react"; +import System from "@/models/system"; +import showToast from "@/utils/toast"; +import pluralize from "pluralize"; + +export default function WebsiteDepthOptions() { + const [loading, setLoading] = useState(false); + + const handleSubmit = async (e) => { + e.preventDefault(); + const form = new FormData(e.target); + + try { + setLoading(true); + showToast("Scraping website - this may take a while.", "info", { + clear: true, + autoClose: false, + }); + + const { data, error } = await System.dataConnectors.websiteDepth.scrape({ + url: form.get("url"), + depth: parseInt(form.get("depth")), + maxLinks: parseInt(form.get("maxLinks")), + }); + + if (!!error) { + showToast(error, "error", { clear: true }); + setLoading(false); + return; + } + + showToast( + `Successfully scraped ${data.length} ${pluralize( + "page", + data.length + )}!`, + "success", + { clear: true } + ); + e.target.reset(); + setLoading(false); + } catch (e) { + console.error(e); + showToast(e.message, "error", { clear: true }); + setLoading(false); + } + }; + + return ( +
+
+
+
+
+
+
+ +

+ URL of the website you want to scrape. +

+
+ +
+
+
+ +

+ This is the number of child-links that the worker should + follow from the origin URL. +

+
+ +
+
+
+ +

+ Maximum number of links to scrape. +

+
+ +
+
+
+ +
+ + {loading && ( +

+ Once complete, all scraped pages will be available for embedding + into workspaces in the document picker. +

+ )} +
+
+
+
+ ); +} diff --git a/frontend/src/components/Modals/MangeWorkspace/DataConnectors/Connectors/Youtube/index.jsx b/frontend/src/components/Modals/MangeWorkspace/DataConnectors/Connectors/Youtube/index.jsx new file mode 100644 index 0000000..ed18dcd --- /dev/null +++ b/frontend/src/components/Modals/MangeWorkspace/DataConnectors/Connectors/Youtube/index.jsx @@ -0,0 +1,91 @@ +import React, { useState } from "react"; +import System from "@/models/system"; +import showToast from "@/utils/toast"; + +export default function YoutubeOptions() { + const [loading, setLoading] = useState(false); + + const handleSubmit = async (e) => { + e.preventDefault(); + const form = new FormData(e.target); + + try { + setLoading(true); + showToast("Fetching transcript for YouTube video.", "info", { + clear: true, + autoClose: false, + }); + + const { data, error } = await System.dataConnectors.youtube.transcribe({ + url: form.get("url"), + }); + + if (!!error) { + showToast(error, "error", { clear: true }); + setLoading(false); + return; + } + + showToast( + `${data.title} by ${data.author} transcription completed. Output folder is ${data.destination}.`, + "success", + { clear: true } + ); + e.target.reset(); + setLoading(false); + return; + } catch (e) { + console.error(e); + showToast(e.message, "error", { clear: true }); + setLoading(false); + } + }; + + return ( +
+
+
+
+
+
+
+ +

+ URL of the YouTube video you wish to transcribe. +

+
+ +
+
+
+ +
+ + {loading && ( +

+ Once complete, the transcription will be available for embedding + into workspaces in the document picker. +

+ )} +
+
+
+
+ ); +} diff --git a/frontend/src/components/Modals/MangeWorkspace/DataConnectors/index.jsx b/frontend/src/components/Modals/MangeWorkspace/DataConnectors/index.jsx new file mode 100644 index 0000000..5a03e19 --- /dev/null +++ b/frontend/src/components/Modals/MangeWorkspace/DataConnectors/index.jsx @@ -0,0 +1,91 @@ +import ConnectorImages from "@/components/DataConnectorOption/media"; +import { MagnifyingGlass } from "@phosphor-icons/react"; +import GithubOptions from "./Connectors/Github"; +import YoutubeOptions from "./Connectors/Youtube"; +import ConfluenceOptions from "./Connectors/Confluence"; +import { useState } from "react"; +import ConnectorOption from "./ConnectorOption"; +import WebsiteDepthOptions from "./Connectors/WebsiteDepth"; + +export const DATA_CONNECTORS = { + github: { + name: "GitHub Repo", + image: ConnectorImages.github, + description: + "Import an entire public or private Github repository in a single click.", + options: , + }, + "youtube-transcript": { + name: "YouTube Transcript", + image: ConnectorImages.youtube, + description: + "Import the transcription of an entire YouTube video from a link.", + options: , + }, + "website-depth": { + name: "Bulk Link Scraper", + image: ConnectorImages.websiteDepth, + description: "Scrape a website and its sub-links up to a certain depth.", + options: , + }, + confluence: { + name: "Confluence", + image: ConnectorImages.confluence, + description: "Import an entire Confluence page in a single click.", + options: , + }, +}; + +export default function DataConnectors() { + const [selectedConnector, setSelectedConnector] = useState("github"); + const [searchQuery, setSearchQuery] = useState(""); + + const filteredConnectors = Object.keys(DATA_CONNECTORS).filter((slug) => + DATA_CONNECTORS[slug].name.toLowerCase().includes(searchQuery.toLowerCase()) + ); + + return ( +
+
+
+ + setSearchQuery(e.target.value)} + /> +
+
+ {filteredConnectors.length > 0 ? ( + filteredConnectors.map((slug, index) => ( + + )) + ) : ( +
+ No data connectors found. +
+ )} +
+
+
+
+ {DATA_CONNECTORS[selectedConnector].options} +
+
+ ); +} diff --git a/frontend/src/components/Modals/MangeWorkspace/Documents/Directory/FileRow/index.jsx b/frontend/src/components/Modals/MangeWorkspace/Documents/Directory/FileRow/index.jsx new file mode 100644 index 0000000..e679896 --- /dev/null +++ b/frontend/src/components/Modals/MangeWorkspace/Documents/Directory/FileRow/index.jsx @@ -0,0 +1,74 @@ +import { useState } from "react"; +import { + formatDate, + getFileExtension, + middleTruncate, +} from "@/utils/directories"; +import { File } from "@phosphor-icons/react"; +import debounce from "lodash.debounce"; + +export default function FileRow({ item, selected, toggleSelection }) { + const [showTooltip, setShowTooltip] = useState(false); + + const handleShowTooltip = () => { + setShowTooltip(true); + }; + + const handleHideTooltip = () => { + setShowTooltip(false); + }; + + const handleMouseEnter = debounce(handleShowTooltip, 500); + const handleMouseLeave = debounce(handleHideTooltip, 500); + + return ( + toggleSelection(item)} + className={`text-white/80 text-xs grid grid-cols-12 py-2 pl-3.5 pr-8 hover:bg-sky-500/20 cursor-pointer file-row ${ + selected ? "selected" : "" + }`} + > +
+
+ {selected &&
} +
+ +
+

+ {middleTruncate(item.title, 17)} +

+ {showTooltip && ( +
+ {item.title} +
+ )} +
+
+

+ {formatDate(item?.published)} +

+

+ {getFileExtension(item.url)} +

+
+ {item?.cached && ( +
+

Cached

+
+ )} +
+ + ); +} diff --git a/frontend/src/components/Modals/MangeWorkspace/Documents/Directory/FolderRow/index.jsx b/frontend/src/components/Modals/MangeWorkspace/Documents/Directory/FolderRow/index.jsx new file mode 100644 index 0000000..46c4b7f --- /dev/null +++ b/frontend/src/components/Modals/MangeWorkspace/Documents/Directory/FolderRow/index.jsx @@ -0,0 +1,75 @@ +import { useState } from "react"; +import FileRow from "../FileRow"; +import { CaretDown, FolderNotch } from "@phosphor-icons/react"; +import { middleTruncate } from "@/utils/directories"; + +export default function FolderRow({ + item, + selected, + onRowClick, + toggleSelection, + isSelected, + autoExpanded = false, +}) { + const [expanded, setExpanded] = useState(autoExpanded); + + const handleExpandClick = (event) => { + event.stopPropagation(); + setExpanded(!expanded); + }; + + return ( + <> + +
+
{ + event.stopPropagation(); + toggleSelection(item); + }} + > + {selected &&
} +
+
+ +
+ +

+ {middleTruncate(item.name, 35)} +

+
+

+

+ + {expanded && ( + <> + {item.items.map((fileItem) => ( + + ))} + + )} + + ); +} diff --git a/frontend/src/components/Modals/MangeWorkspace/Documents/Directory/FolderSelectionPopup/index.jsx b/frontend/src/components/Modals/MangeWorkspace/Documents/Directory/FolderSelectionPopup/index.jsx new file mode 100644 index 0000000..5261b89 --- /dev/null +++ b/frontend/src/components/Modals/MangeWorkspace/Documents/Directory/FolderSelectionPopup/index.jsx @@ -0,0 +1,24 @@ +import { middleTruncate } from "@/utils/directories"; + +export default function FolderSelectionPopup({ folders, onSelect, onClose }) { + const handleFolderSelect = (folder) => { + onSelect(folder); + onClose(); + }; + + return ( +

+
    + {folders.map((folder) => ( +
  • handleFolderSelect(folder)} + className="px-4 py-2 text-xs text-gray-700 hover:bg-gray-200 rounded-lg cursor-pointer whitespace-nowrap" + > + {middleTruncate(folder.name, 25)} +
  • + ))} +
+
+ ); +} diff --git a/frontend/src/components/Modals/MangeWorkspace/Documents/Directory/MoveToFolderIcon.jsx b/frontend/src/components/Modals/MangeWorkspace/Documents/Directory/MoveToFolderIcon.jsx new file mode 100644 index 0000000..3916fc7 --- /dev/null +++ b/frontend/src/components/Modals/MangeWorkspace/Documents/Directory/MoveToFolderIcon.jsx @@ -0,0 +1,44 @@ +export default function MoveToFolderIcon({ + className, + width = 18, + height = 18, +}) { + return ( + + + + + + + ); +} diff --git a/frontend/src/components/Modals/MangeWorkspace/Documents/Directory/index.jsx b/frontend/src/components/Modals/MangeWorkspace/Documents/Directory/index.jsx new file mode 100644 index 0000000..d479a6c --- /dev/null +++ b/frontend/src/components/Modals/MangeWorkspace/Documents/Directory/index.jsx @@ -0,0 +1,316 @@ +import UploadFile from "../UploadFile"; +import PreLoader from "@/components/Preloader"; +import { memo, useEffect, useState } from "react"; +import FolderRow from "./FolderRow"; +import System from "@/models/system"; +import { Plus, Trash } from "@phosphor-icons/react"; +import Document from "@/models/document"; +import showToast from "@/utils/toast"; +import FolderSelectionPopup from "./FolderSelectionPopup"; +import MoveToFolderIcon from "./MoveToFolderIcon"; + +function Directory({ + files, + setFiles, + loading, + setLoading, + workspace, + fetchKeys, + selectedItems, + setSelectedItems, + setHighlightWorkspace, + moveToWorkspace, + setLoadingMessage, + loadingMessage, +}) { + const [amountSelected, setAmountSelected] = useState(0); + const [newFolderName, setNewFolderName] = useState(""); + const [showNewFolderInput, setShowNewFolderInput] = useState(false); + const [showFolderSelection, setShowFolderSelection] = useState(false); + + useEffect(() => { + setAmountSelected(Object.keys(selectedItems).length); + }, [selectedItems]); + + const deleteFiles = async (event) => { + event.stopPropagation(); + if ( + !window.confirm( + "Are you sure you want to delete these files and folders?\nThis will remove the files from the system and remove them from any existing workspaces automatically.\nThis action is not reversible." + ) + ) { + return false; + } + + try { + const toRemove = []; + const foldersToRemove = []; + + for (const itemId of Object.keys(selectedItems)) { + for (const folder of files.items) { + const foundItem = folder.items.find((file) => file.id === itemId); + if (foundItem) { + toRemove.push(`${folder.name}/${foundItem.name}`); + break; + } + } + } + for (const folder of files.items) { + if (folder.name === "custom-documents") { + continue; + } + + if (isSelected(folder.id, folder)) { + foldersToRemove.push(folder.name); + } + } + + setLoading(true); + setLoadingMessage( + `Removing ${toRemove.length} documents and ${foldersToRemove.length} folders. Please wait.` + ); + await System.deleteDocuments(toRemove); + for (const folderName of foldersToRemove) { + await System.deleteFolder(folderName); + } + + await fetchKeys(true); + setSelectedItems({}); + } catch (error) { + console.error("Failed to delete files and folders:", error); + } finally { + setLoading(false); + setSelectedItems({}); + } + }; + + const toggleSelection = (item) => { + setSelectedItems((prevSelectedItems) => { + const newSelectedItems = { ...prevSelectedItems }; + if (item.type === "folder") { + // select all files in the folder + if (newSelectedItems[item.name]) { + delete newSelectedItems[item.name]; + item.items.forEach((file) => delete newSelectedItems[file.id]); + } else { + newSelectedItems[item.name] = true; + item.items.forEach((file) => (newSelectedItems[file.id] = true)); + } + } else { + // single file selections + if (newSelectedItems[item.id]) { + delete newSelectedItems[item.id]; + } else { + newSelectedItems[item.id] = true; + } + } + + return newSelectedItems; + }); + }; + + // check if item is selected based on selectedItems state + const isSelected = (id, item) => { + if (item && item.type === "folder") { + if (!selectedItems[item.name]) { + return false; + } + return item.items.every((file) => selectedItems[file.id]); + } + + return !!selectedItems[id]; + }; + + const createNewFolder = () => { + setShowNewFolderInput(true); + }; + + const confirmNewFolder = async () => { + if (newFolderName.trim() !== "") { + const newFolder = { + name: newFolderName, + type: "folder", + items: [], + }; + + // If folder failed to create - silently fail. + const { success } = await Document.createFolder(newFolderName); + if (success) { + setFiles({ + ...files, + items: [...files.items, newFolder], + }); + } + + setNewFolderName(""); + setShowNewFolderInput(false); + } + }; + + const moveToFolder = async (folder) => { + const toMove = []; + for (const itemId of Object.keys(selectedItems)) { + for (const currentFolder of files.items) { + const foundItem = currentFolder.items.find( + (file) => file.id === itemId + ); + if (foundItem) { + toMove.push({ ...foundItem, folderName: currentFolder.name }); + break; + } + } + } + setLoading(true); + setLoadingMessage(`Moving ${toMove.length} documents. Please wait.`); + const { success, message } = await Document.moveToFolder( + toMove, + folder.name + ); + if (!success) { + showToast(`Error moving files: ${message}`, "error"); + setLoading(false); + return; + } + + if (success && message) { + // show info if some files were not moved due to being embedded + showToast(message, "info"); + } else { + showToast(`Successfully moved ${toMove.length} documents.`, "success"); + } + await fetchKeys(true); + setSelectedItems({}); + setLoading(false); + }; + + return ( +
+
+
+

My Documents

+ {showNewFolderInput ? ( +
+ setNewFolderName(e.target.value)} + className="bg-zinc-900 text-white placeholder-white/20 text-sm rounded-md p-2.5 w-[150px] h-[32px]" + /> +
+ +
+
+ ) : ( + + )} +
+ +
+
+

Name

+

Date

+

Kind

+
+ +
+ {loading ? ( +
+ +

+ {loadingMessage} +

+
+ ) : files.items ? ( + files.items.map( + (item, index) => + item.type === "folder" && ( + toggleSelection(item)} + toggleSelection={toggleSelection} + isSelected={isSelected} + autoExpanded={index === 0} + /> + ) + ) + ) : ( +
+

+ No Documents +

+
+ )} +
+ {amountSelected !== 0 && ( +
+
+
+ +
+ + {showFolderSelection && ( + item.type === "folder" + )} + onSelect={moveToFolder} + onClose={() => setShowFolderSelection(false)} + /> + )} +
+ +
+
+
+ )} +
+ +
+
+ ); +} + +export default memo(Directory); diff --git a/frontend/src/components/Modals/MangeWorkspace/Documents/UploadFile/FileUploadProgress/index.jsx b/frontend/src/components/Modals/MangeWorkspace/Documents/UploadFile/FileUploadProgress/index.jsx new file mode 100644 index 0000000..104d45a --- /dev/null +++ b/frontend/src/components/Modals/MangeWorkspace/Documents/UploadFile/FileUploadProgress/index.jsx @@ -0,0 +1,138 @@ +import React, { useState, useEffect, memo } from "react"; +import truncate from "truncate"; +import { CheckCircle, XCircle } from "@phosphor-icons/react"; +import Workspace from "../../../../../../models/workspace"; +import { humanFileSize, milliToHms } from "../../../../../../utils/numbers"; +import PreLoader from "../../../../../Preloader"; + +function FileUploadProgressComponent({ + slug, + uuid, + file, + setFiles, + rejected = false, + reason = null, + onUploadSuccess, + onUploadError, + setLoading, + setLoadingMessage, +}) { + const [timerMs, setTimerMs] = useState(10); + const [status, setStatus] = useState("pending"); + const [error, setError] = useState(""); + const [isFadingOut, setIsFadingOut] = useState(false); + + const fadeOut = (cb) => { + setIsFadingOut(true); + cb?.(); + }; + + const beginFadeOut = () => { + setIsFadingOut(false); + setFiles((prev) => { + return prev.filter((item) => item.uid !== uuid); + }); + }; + + useEffect(() => { + async function uploadFile() { + setLoading(true); + setLoadingMessage("Uploading file..."); + const start = Number(new Date()); + const formData = new FormData(); + formData.append("file", file, file.name); + const timer = setInterval(() => { + setTimerMs(Number(new Date()) - start); + }, 100); + + // Chunk streaming not working in production so we just sit and wait + const { response, data } = await Workspace.uploadFile(slug, formData); + if (!response.ok) { + setStatus("failed"); + clearInterval(timer); + onUploadError(data.error); + setError(data.error); + } else { + setLoading(false); + setLoadingMessage(""); + setStatus("complete"); + clearInterval(timer); + onUploadSuccess(); + } + + // Begin fadeout timer to clear uploader queue. + setTimeout(() => { + fadeOut(() => setTimeout(() => beginFadeOut(), 300)); + }, 5000); + } + !!file && !rejected && uploadFile(); + }, []); + + if (rejected) { + return ( +
+
+ +
+
+

+ {truncate(file.name, 30)} +

+

{reason}

+
+
+ ); + } + + if (status === "failed") { + return ( +
+
+ +
+
+

+ {truncate(file.name, 30)} +

+

{error}

+
+
+ ); + } + + return ( +
+
+ {status !== "complete" ? ( +
+ +
+ ) : ( + + )} +
+
+

+ {truncate(file.name, 30)} +

+

+ {humanFileSize(file.size)} | {milliToHms(timerMs)} +

+
+
+ ); +} + +export default memo(FileUploadProgressComponent); diff --git a/frontend/src/components/Modals/MangeWorkspace/Documents/UploadFile/index.jsx b/frontend/src/components/Modals/MangeWorkspace/Documents/UploadFile/index.jsx new file mode 100644 index 0000000..8996829 --- /dev/null +++ b/frontend/src/components/Modals/MangeWorkspace/Documents/UploadFile/index.jsx @@ -0,0 +1,155 @@ +import { CloudArrowUp } from "@phosphor-icons/react"; +import { useEffect, useState } from "react"; +import showToast from "../../../../../utils/toast"; +import System from "../../../../../models/system"; +import { useDropzone } from "react-dropzone"; +import { v4 } from "uuid"; +import FileUploadProgress from "./FileUploadProgress"; +import Workspace from "../../../../../models/workspace"; +import debounce from "lodash.debounce"; + +export default function UploadFile({ + workspace, + fetchKeys, + setLoading, + setLoadingMessage, +}) { + const [ready, setReady] = useState(false); + const [files, setFiles] = useState([]); + const [fetchingUrl, setFetchingUrl] = useState(false); + + const handleSendLink = async (e) => { + e.preventDefault(); + setLoading(true); + setLoadingMessage("Scraping link..."); + setFetchingUrl(true); + const formEl = e.target; + const form = new FormData(formEl); + const { response, data } = await Workspace.uploadLink( + workspace.slug, + form.get("link") + ); + if (!response.ok) { + showToast(`Error uploading link: ${data.error}`, "error"); + } else { + fetchKeys(true); + showToast("Link uploaded successfully", "success"); + formEl.reset(); + } + setLoading(false); + setFetchingUrl(false); + }; + + // Don't spam fetchKeys, wait 1s between calls at least. + const handleUploadSuccess = debounce(() => fetchKeys(true), 1000); + const handleUploadError = (_msg) => null; // stubbed. + + const onDrop = async (acceptedFiles, rejections) => { + const newAccepted = acceptedFiles.map((file) => { + return { + uid: v4(), + file, + }; + }); + const newRejected = rejections.map((file) => { + return { + uid: v4(), + file: file.file, + rejected: true, + reason: file.errors[0].code, + }; + }); + setFiles([...newAccepted, ...newRejected]); + }; + + useEffect(() => { + async function checkProcessorOnline() { + const online = await System.checkDocumentProcessorOnline(); + setReady(online); + } + checkProcessorOnline(); + }, []); + + const { getRootProps, getInputProps } = useDropzone({ + onDrop, + disabled: !ready, + }); + + return ( +
+
+ + {ready === false ? ( +
+ +
+ Document Processor Unavailable +
+
+ We can't upload your files right now because the document + processor is offline. Please try again later. +
+
+ ) : files.length === 0 ? ( +
+ +
+ Click to upload or drag and drop +
+
+ supports text files, csv's, spreadsheets, audio files, and more! +
+
+ ) : ( +
+ {files.map((file) => ( + + ))} +
+ )} +
+
+ or submit a link +
+
+ + +
+
+ These files will be uploaded to the document processor running on this + AnythingLLM instance. These files are not sent or shared with a third + party. +
+
+ ); +} diff --git a/frontend/src/components/Modals/MangeWorkspace/Documents/WorkspaceDirectory/WorkspaceFileRow/index.jsx b/frontend/src/components/Modals/MangeWorkspace/Documents/WorkspaceDirectory/WorkspaceFileRow/index.jsx new file mode 100644 index 0000000..f473254 --- /dev/null +++ b/frontend/src/components/Modals/MangeWorkspace/Documents/WorkspaceDirectory/WorkspaceFileRow/index.jsx @@ -0,0 +1,185 @@ +import { memo, useState } from "react"; +import { + formatDate, + getFileExtension, + middleTruncate, +} from "@/utils/directories"; +import { ArrowUUpLeft, File, PushPin } from "@phosphor-icons/react"; +import Workspace from "@/models/workspace"; +import debounce from "lodash.debounce"; +import { Tooltip } from "react-tooltip"; +import showToast from "@/utils/toast"; + +export default function WorkspaceFileRow({ + item, + folderName, + workspace, + setLoading, + setLoadingMessage, + fetchKeys, + hasChanges, + movedItems, +}) { + const [showTooltip, setShowTooltip] = useState(false); + + const onRemoveClick = async () => { + setLoading(true); + + try { + setLoadingMessage(`Removing file from workspace`); + await Workspace.modifyEmbeddings(workspace.slug, { + adds: [], + deletes: [`${folderName}/${item.name}`], + }); + await fetchKeys(true); + } catch (error) { + console.error("Failed to remove document:", error); + } + + setLoadingMessage(""); + setLoading(false); + }; + + const handleShowTooltip = () => { + setShowTooltip(true); + }; + + const handleHideTooltip = () => { + setShowTooltip(false); + }; + + const isMovedItem = movedItems?.some((movedItem) => movedItem.id === item.id); + const handleMouseEnter = debounce(handleShowTooltip, 500); + const handleMouseLeave = debounce(handleHideTooltip, 500); + return ( +
+
+ +
+

+ {middleTruncate(item.title, 17)} +

+ {showTooltip && ( +
+ {item.title} +
+ )} +
+
+

+ {formatDate(item?.published)} +

+

+ {getFileExtension(item.url)} +

+
+ {hasChanges ? ( +
+ ) : ( +
+ + +
+ )} +
+
+ ); +} + +const PinItemToWorkspace = memo(({ workspace, docPath, item }) => { + const [pinned, setPinned] = useState( + item?.pinnedWorkspaces?.includes(workspace.id) || false + ); + const [hover, setHover] = useState(false); + const pinEvent = new CustomEvent("pinned_document"); + + const updatePinStatus = async () => { + try { + if (!pinned) window.dispatchEvent(pinEvent); + const success = await Workspace.setPinForDocument( + workspace.slug, + docPath, + !pinned + ); + + if (!success) { + showToast(`Failed to ${!pinned ? "pin" : "unpin"} document.`, "error", { + clear: true, + }); + return; + } + + showToast( + `Document ${!pinned ? "pinned to" : "unpinned from"} workspace`, + "success", + { clear: true } + ); + setPinned(!pinned); + } catch (error) { + showToast(`Failed to pin document. ${error.message}`, "error", { + clear: true, + }); + return; + } + }; + + if (!item) return
; + + return ( +
setHover(true)} + onMouseLeave={() => setHover(false)} + className="flex gap-x-2 items-center hover:bg-main-gradient p-[2px] rounded ml-2" + > + + +
+ ); +}); + +const RemoveItemFromWorkspace = ({ item, onClick }) => { + return ( +
+ + +
+ ); +}; diff --git a/frontend/src/components/Modals/MangeWorkspace/Documents/WorkspaceDirectory/index.jsx b/frontend/src/components/Modals/MangeWorkspace/Documents/WorkspaceDirectory/index.jsx new file mode 100644 index 0000000..4cfa55a --- /dev/null +++ b/frontend/src/components/Modals/MangeWorkspace/Documents/WorkspaceDirectory/index.jsx @@ -0,0 +1,191 @@ +import PreLoader from "@/components/Preloader"; +import { dollarFormat } from "@/utils/numbers"; +import WorkspaceFileRow from "./WorkspaceFileRow"; +import { memo, useEffect, useState } from "react"; +import ModalWrapper from "@/components/ModalWrapper"; +import { PushPin } from "@phosphor-icons/react"; +import { SEEN_DOC_PIN_ALERT } from "@/utils/constants"; + +function WorkspaceDirectory({ + workspace, + files, + highlightWorkspace, + loading, + loadingMessage, + setLoadingMessage, + setLoading, + fetchKeys, + hasChanges, + saveChanges, + embeddingCosts, + movedItems, +}) { + if (loading) { + return ( +
+
+

+ {workspace.name} +

+
+
+
+

Name

+

Date

+

Kind

+

+

+
+ +

+ {loadingMessage} +

+
+
+
+ ); + } + + return ( + <> +
+
+

+ {workspace.name} +

+
+
+
+

Name

+

Date

+

Kind

+

+

+
+ {Object.values(files.items).some( + (folder) => folder.items.length > 0 + ) || movedItems.length > 0 ? ( + <> + {files.items.map((folder) => + folder.items.map((item, index) => ( + + )) + )} + + ) : ( +
+

+ No Documents +

+
+ )} +
+
+ {hasChanges && ( +
+
+

+ {embeddingCosts === 0 + ? "" + : `Estimated Cost: ${ + embeddingCosts < 0.01 + ? `< $0.01` + : dollarFormat(embeddingCosts) + }`} +

+ +
+ + +
+ )} +
+ + + ); +} + +const PinAlert = memo(() => { + const [showAlert, setShowAlert] = useState(false); + function dismissAlert() { + setShowAlert(false); + window.localStorage.setItem(SEEN_DOC_PIN_ALERT, "1"); + window.removeEventListener(handlePinEvent); + } + + function handlePinEvent() { + if (!!window?.localStorage?.getItem(SEEN_DOC_PIN_ALERT)) return; + setShowAlert(true); + } + + useEffect(() => { + if (!window || !!window?.localStorage?.getItem(SEEN_DOC_PIN_ALERT)) return; + window?.addEventListener("pinned_document", handlePinEvent); + }, []); + + return ( + +
+
+
+
+ +

+ What is document pinning? +

+
+
+
+

+ When you pin a document in AnythingLLM we will inject the + entire content of the document into your prompt window for your + LLM to fully comprehend. +

+

+ This works best with large-context models or small files + that are critical to its knowledge-base. +

+

+ If you are not getting the answers you desire from AnythingLLM by + default then pinning is a great way to get higher quality answers + in a click. +

+
+ +
+ +
+
+
+
+ ); +}); + +export default memo(WorkspaceDirectory); diff --git a/frontend/src/components/Modals/MangeWorkspace/Documents/index.jsx b/frontend/src/components/Modals/MangeWorkspace/Documents/index.jsx new file mode 100644 index 0000000..98244d5 --- /dev/null +++ b/frontend/src/components/Modals/MangeWorkspace/Documents/index.jsx @@ -0,0 +1,230 @@ +import { ArrowsDownUp } from "@phosphor-icons/react"; +import { useEffect, useState } from "react"; +import Workspace from "../../../../models/workspace"; +import System from "../../../../models/system"; +import showToast from "../../../../utils/toast"; +import Directory from "./Directory"; +import WorkspaceDirectory from "./WorkspaceDirectory"; + +// OpenAI Cost per token +// ref: https://openai.com/pricing#:~:text=%C2%A0/%201K%20tokens-,Embedding%20models,-Build%20advanced%20search + +const MODEL_COSTS = { + "text-embedding-ada-002": 0.0000001, // $0.0001 / 1K tokens + "text-embedding-3-small": 0.00000002, // $0.00002 / 1K tokens + "text-embedding-3-large": 0.00000013, // $0.00013 / 1K tokens +}; + +export default function DocumentSettings({ workspace, systemSettings }) { + const [highlightWorkspace, setHighlightWorkspace] = useState(false); + const [availableDocs, setAvailableDocs] = useState([]); + const [loading, setLoading] = useState(true); + const [workspaceDocs, setWorkspaceDocs] = useState([]); + const [selectedItems, setSelectedItems] = useState({}); + const [hasChanges, setHasChanges] = useState(false); + const [movedItems, setMovedItems] = useState([]); + const [embeddingsCost, setEmbeddingsCost] = useState(0); + const [loadingMessage, setLoadingMessage] = useState(""); + + async function fetchKeys(refetchWorkspace = false) { + setLoading(true); + const localFiles = await System.localFiles(); + const currentWorkspace = refetchWorkspace + ? await Workspace.bySlug(workspace.slug) + : workspace; + + const documentsInWorkspace = + currentWorkspace.documents.map((doc) => doc.docpath) || []; + + // Documents that are not in the workspace + const availableDocs = { + ...localFiles, + items: localFiles.items.map((folder) => { + if (folder.items && folder.type === "folder") { + return { + ...folder, + items: folder.items.filter( + (file) => + file.type === "file" && + !documentsInWorkspace.includes(`${folder.name}/${file.name}`) + ), + }; + } else { + return folder; + } + }), + }; + + // Documents that are already in the workspace + const workspaceDocs = { + ...localFiles, + items: localFiles.items.map((folder) => { + if (folder.items && folder.type === "folder") { + return { + ...folder, + items: folder.items.filter( + (file) => + file.type === "file" && + documentsInWorkspace.includes(`${folder.name}/${file.name}`) + ), + }; + } else { + return folder; + } + }), + }; + + setAvailableDocs(availableDocs); + setWorkspaceDocs(workspaceDocs); + setLoading(false); + } + + useEffect(() => { + fetchKeys(true); + }, []); + + const updateWorkspace = async (e) => { + e.preventDefault(); + setLoading(true); + showToast("Updating workspace...", "info", { autoClose: false }); + setLoadingMessage("This may take a while for large documents"); + + const changesToSend = { + adds: movedItems.map((item) => `${item.folderName}/${item.name}`), + }; + + setSelectedItems({}); + setHasChanges(false); + setHighlightWorkspace(false); + await Workspace.modifyEmbeddings(workspace.slug, changesToSend) + .then((res) => { + if (!!res.message) { + showToast(`Error: ${res.message}`, "error", { clear: true }); + return; + } + showToast("Workspace updated successfully.", "success", { + clear: true, + }); + }) + .catch((error) => { + showToast(`Workspace update failed: ${error}`, "error", { + clear: true, + }); + }); + + setMovedItems([]); + await fetchKeys(true); + setLoading(false); + setLoadingMessage(""); + }; + + const moveSelectedItemsToWorkspace = () => { + setHighlightWorkspace(false); + setHasChanges(true); + + const newMovedItems = []; + + for (const itemId of Object.keys(selectedItems)) { + for (const folder of availableDocs.items) { + const foundItem = folder.items.find((file) => file.id === itemId); + if (foundItem) { + newMovedItems.push({ ...foundItem, folderName: folder.name }); + break; + } + } + } + + let totalTokenCount = 0; + newMovedItems.forEach((item) => { + const { cached, token_count_estimate } = item; + if (!cached) { + totalTokenCount += token_count_estimate; + } + }); + + // Do not do cost estimation unless the embedding engine is OpenAi. + if (systemSettings?.EmbeddingEngine === "openai") { + const COST_PER_TOKEN = + MODEL_COSTS[ + systemSettings?.EmbeddingModelPref || "text-embedding-ada-002" + ]; + + const dollarAmount = (totalTokenCount / 1000) * COST_PER_TOKEN; + setEmbeddingsCost(dollarAmount); + } + + setMovedItems([...movedItems, ...newMovedItems]); + + let newAvailableDocs = JSON.parse(JSON.stringify(availableDocs)); + let newWorkspaceDocs = JSON.parse(JSON.stringify(workspaceDocs)); + + for (const itemId of Object.keys(selectedItems)) { + let foundItem = null; + let foundFolderIndex = null; + + newAvailableDocs.items = newAvailableDocs.items.map( + (folder, folderIndex) => { + const remainingItems = folder.items.filter((file) => { + const match = file.id === itemId; + if (match) { + foundItem = { ...file }; + foundFolderIndex = folderIndex; + } + return !match; + }); + + return { + ...folder, + items: remainingItems, + }; + } + ); + + if (foundItem) { + newWorkspaceDocs.items[foundFolderIndex].items.push(foundItem); + } + } + + setAvailableDocs(newAvailableDocs); + setWorkspaceDocs(newWorkspaceDocs); + setSelectedItems({}); + }; + + return ( +
+ +
+ +
+ +
+ ); +} diff --git a/frontend/src/components/Modals/MangeWorkspace/index.jsx b/frontend/src/components/Modals/MangeWorkspace/index.jsx new file mode 100644 index 0000000..2c6e658 --- /dev/null +++ b/frontend/src/components/Modals/MangeWorkspace/index.jsx @@ -0,0 +1,145 @@ +import React, { useState, useEffect, memo } from "react"; +import { X } from "@phosphor-icons/react"; +import { useParams } from "react-router-dom"; +import Workspace from "../../../models/workspace"; +import System from "../../../models/system"; +import { isMobile } from "react-device-detect"; +import useUser from "../../../hooks/useUser"; +import DocumentSettings from "./Documents"; +import DataConnectors from "./DataConnectors"; + +const noop = () => {}; +const ManageWorkspace = ({ hideModal = noop, providedSlug = null }) => { + const { slug } = useParams(); + const { user } = useUser(); + const [workspace, setWorkspace] = useState(null); + const [settings, setSettings] = useState({}); + const [selectedTab, setSelectedTab] = useState("documents"); + + useEffect(() => { + async function getSettings() { + const _settings = await System.keys(); + setSettings(_settings ?? {}); + } + getSettings(); + }, []); + + useEffect(() => { + async function fetchWorkspace() { + const workspace = await Workspace.bySlug(providedSlug ?? slug); + setWorkspace(workspace); + } + fetchWorkspace(); + }, [providedSlug, slug]); + + if (!workspace) return null; + + if (isMobile) { + return ( +
+
+
+
+
+

+ Editing "{workspace.name}" +

+

+ Editing these settings are only available on a desktop device. + Please access this page on your desktop to continue. +

+
+ +
+
+
+
+
+ ); + } + + return ( +
+
+
+
+
+ +
+ + {user?.role !== "default" && ( + + )} + + {selectedTab === "documents" ? ( + + ) : ( + + )} +
+
+
+ ); +}; + +export default memo(ManageWorkspace); + +const ModalTabSwitcher = ({ selectedTab, setSelectedTab }) => { + return ( +
+
+ + +
+
+ ); +}; +export function useManageWorkspaceModal() { + const { user } = useUser(); + const [showing, setShowing] = useState(false); + + const showModal = () => { + if (user?.role !== "default") { + setShowing(true); + } + }; + + const hideModal = () => { + setShowing(false); + }; + + return { showing, showModal, hideModal }; +} diff --git a/frontend/src/components/Modals/NewWorkspace.jsx b/frontend/src/components/Modals/NewWorkspace.jsx new file mode 100644 index 0000000..ed00f6f --- /dev/null +++ b/frontend/src/components/Modals/NewWorkspace.jsx @@ -0,0 +1,91 @@ +import React, { useRef, useState } from "react"; +import { X } from "@phosphor-icons/react"; +import Workspace from "@/models/workspace"; +import paths from "@/utils/paths"; + +const noop = () => false; +export default function NewWorkspaceModal({ hideModal = noop }) { + const formEl = useRef(null); + const [error, setError] = useState(null); + const handleCreate = async (e) => { + setError(null); + e.preventDefault(); + const data = {}; + const form = new FormData(formEl.current); + for (var [key, value] of form.entries()) data[key] = value; + const { workspace, message } = await Workspace.new(data); + if (!!workspace) { + window.location.href = paths.workspace.chat(workspace.slug); + } + setError(message); + }; + + return ( +
+
+
+
+
+

New Workspace

+ +
+
+
+
+
+ + +
+ {error && ( +

Error: {error}

+ )} +
+
+
+ +
+
+
+
+
+ ); +} + +export function useNewWorkspaceModal() { + const [showing, setShowing] = useState(false); + const showModal = () => { + setShowing(true); + }; + const hideModal = () => { + setShowing(false); + }; + + return { showing, showModal, hideModal }; +} diff --git a/frontend/src/components/Modals/Password/MultiUserAuth.jsx b/frontend/src/components/Modals/Password/MultiUserAuth.jsx new file mode 100644 index 0000000..e4de5e6 --- /dev/null +++ b/frontend/src/components/Modals/Password/MultiUserAuth.jsx @@ -0,0 +1,336 @@ +import React, { useEffect, useState } from "react"; +import System from "../../../models/system"; +import { AUTH_TOKEN, AUTH_USER } from "../../../utils/constants"; +import paths from "../../../utils/paths"; +import showToast from "@/utils/toast"; +import ModalWrapper from "@/components/ModalWrapper"; +import { useModal } from "@/hooks/useModal"; +import RecoveryCodeModal from "@/components/Modals/DisplayRecoveryCodeModal"; + +const RecoveryForm = ({ onSubmit, setShowRecoveryForm }) => { + const [username, setUsername] = useState(""); + const [recoveryCodeInputs, setRecoveryCodeInputs] = useState( + Array(2).fill("") + ); + + const handleRecoveryCodeChange = (index, value) => { + const updatedCodes = [...recoveryCodeInputs]; + updatedCodes[index] = value; + setRecoveryCodeInputs(updatedCodes); + }; + + const handleSubmit = (e) => { + e.preventDefault(); + const recoveryCodes = recoveryCodeInputs.filter( + (code) => code.trim() !== "" + ); + onSubmit(username, recoveryCodes); + }; + + return ( +
+
+
+

+ Password Reset +

+

+ Provide the necessary information below to reset your password. +

+
+
+
+
+
+ + setUsername(e.target.value)} + className="bg-zinc-900 text-white placeholder-white/20 text-sm rounded-md p-2.5 w-full h-[48px] md:w-[300px] md:h-[34px]" + required + /> +
+
+ + {recoveryCodeInputs.map((code, index) => ( +
+ + handleRecoveryCodeChange(index, e.target.value) + } + className="bg-zinc-900 text-white placeholder-white/20 text-sm rounded-md p-2.5 w-full h-[48px] md:w-[300px] md:h-[34px]" + required + /> +
+ ))} +
+
+
+
+ + +
+
+ ); +}; + +const ResetPasswordForm = ({ onSubmit }) => { + const [newPassword, setNewPassword] = useState(""); + const [confirmPassword, setConfirmPassword] = useState(""); + + const handleSubmit = (e) => { + e.preventDefault(); + onSubmit(newPassword, confirmPassword); + }; + + return ( +
+
+
+

+ Reset Password +

+

+ Enter your new password. +

+
+
+
+
+
+ setNewPassword(e.target.value)} + className="bg-zinc-900 text-white placeholder-white/20 text-sm rounded-md p-2.5 w-full h-[48px] md:w-[300px] md:h-[34px]" + required + /> +
+
+ setConfirmPassword(e.target.value)} + className="bg-zinc-900 text-white placeholder-white/20 text-sm rounded-md p-2.5 w-full h-[48px] md:w-[300px] md:h-[34px]" + required + /> +
+
+
+
+ +
+
+ ); +}; + +export default function MultiUserAuth() { + const [loading, setLoading] = useState(false); + const [error, setError] = useState(null); + const [recoveryCodes, setRecoveryCodes] = useState([]); + const [downloadComplete, setDownloadComplete] = useState(false); + const [user, setUser] = useState(null); + const [token, setToken] = useState(null); + const [showRecoveryForm, setShowRecoveryForm] = useState(false); + const [showResetPasswordForm, setShowResetPasswordForm] = useState(false); + + const { + isOpen: isRecoveryCodeModalOpen, + openModal: openRecoveryCodeModal, + closeModal: closeRecoveryCodeModal, + } = useModal(); + + const handleLogin = async (e) => { + setError(null); + setLoading(true); + e.preventDefault(); + const data = {}; + const form = new FormData(e.target); + for (var [key, value] of form.entries()) data[key] = value; + const { valid, user, token, message, recoveryCodes } = + await System.requestToken(data); + if (valid && !!token && !!user) { + setUser(user); + setToken(token); + + if (recoveryCodes) { + setRecoveryCodes(recoveryCodes); + openRecoveryCodeModal(); + } else { + window.localStorage.setItem(AUTH_USER, JSON.stringify(user)); + window.localStorage.setItem(AUTH_TOKEN, token); + window.location = paths.home(); + } + } else { + setError(message); + setLoading(false); + } + setLoading(false); + }; + + const handleDownloadComplete = () => setDownloadComplete(true); + const handleResetPassword = () => setShowRecoveryForm(true); + const handleRecoverySubmit = async (username, recoveryCodes) => { + const { success, resetToken, error } = await System.recoverAccount( + username, + recoveryCodes + ); + + if (success && resetToken) { + window.localStorage.setItem("resetToken", resetToken); + setShowRecoveryForm(false); + setShowResetPasswordForm(true); + } else { + showToast(error, "error", { clear: true }); + } + }; + + const handleResetSubmit = async (newPassword, confirmPassword) => { + const resetToken = window.localStorage.getItem("resetToken"); + + if (resetToken) { + const { success, error } = await System.resetPassword( + resetToken, + newPassword, + confirmPassword + ); + + if (success) { + window.localStorage.removeItem("resetToken"); + setShowResetPasswordForm(false); + showToast("Password reset successful", "success", { clear: true }); + } else { + showToast(error, "error", { clear: true }); + } + } else { + showToast("Invalid reset token", "error", { clear: true }); + } + }; + + useEffect(() => { + if (downloadComplete && user && token) { + window.localStorage.setItem(AUTH_USER, JSON.stringify(user)); + window.localStorage.setItem(AUTH_TOKEN, token); + window.location = paths.home(); + } + }, [downloadComplete, user, token]); + + if (showRecoveryForm) { + return ( + + ); + } + + if (showResetPasswordForm) + return ; + return ( + <> +
+
+
+
+
+

+ Welcome to +

+

+ AnythingLLM +

+
+

+ Sign in to your AnythingLLM account. +

+
+
+
+
+
+ +
+
+ +
+ {error &&

Error: {error}

} +
+
+
+ + +
+
+
+ + + + + + ); +} diff --git a/frontend/src/components/Modals/Password/SingleUserAuth.jsx b/frontend/src/components/Modals/Password/SingleUserAuth.jsx new file mode 100644 index 0000000..c1f328b --- /dev/null +++ b/frontend/src/components/Modals/Password/SingleUserAuth.jsx @@ -0,0 +1,116 @@ +import React, { useEffect, useState } from "react"; +import System from "../../../models/system"; +import { AUTH_TOKEN } from "../../../utils/constants"; +import useLogo from "../../../hooks/useLogo"; +import paths from "../../../utils/paths"; +import ModalWrapper from "@/components/ModalWrapper"; +import { useModal } from "@/hooks/useModal"; +import RecoveryCodeModal from "@/components/Modals/DisplayRecoveryCodeModal"; + +export default function SingleUserAuth() { + const [loading, setLoading] = useState(false); + const [error, setError] = useState(null); + const { logo: _initLogo } = useLogo(); + const [recoveryCodes, setRecoveryCodes] = useState([]); + const [downloadComplete, setDownloadComplete] = useState(false); + const [token, setToken] = useState(null); + + const { + isOpen: isRecoveryCodeModalOpen, + openModal: openRecoveryCodeModal, + closeModal: closeRecoveryCodeModal, + } = useModal(); + + const handleLogin = async (e) => { + setError(null); + setLoading(true); + e.preventDefault(); + const data = {}; + const form = new FormData(e.target); + for (var [key, value] of form.entries()) data[key] = value; + const { valid, token, message, recoveryCodes } = + await System.requestToken(data); + if (valid && !!token) { + setToken(token); + if (recoveryCodes) { + setRecoveryCodes(recoveryCodes); + openRecoveryCodeModal(); + } else { + window.localStorage.setItem(AUTH_TOKEN, token); + window.location = paths.home(); + } + } else { + setError(message); + setLoading(false); + } + setLoading(false); + }; + + const handleDownloadComplete = () => { + setDownloadComplete(true); + }; + + useEffect(() => { + if (downloadComplete && token) { + window.localStorage.setItem(AUTH_TOKEN, token); + window.location = paths.home(); + } + }, [downloadComplete, token]); + + return ( + <> +
+
+
+
+
+

+ Welcome to +

+

+ AnythingLLM +

+
+

+ Sign in to your AnythingLLM instance. +

+
+
+
+
+
+ +
+ + {error &&

Error: {error}

} +
+
+
+ +
+
+
+ + + + + + ); +} diff --git a/frontend/src/components/Modals/Password/index.jsx b/frontend/src/components/Modals/Password/index.jsx new file mode 100644 index 0000000..9305d03 --- /dev/null +++ b/frontend/src/components/Modals/Password/index.jsx @@ -0,0 +1,152 @@ +import React, { useState, useEffect } from "react"; +import System from "../../../models/system"; +import SingleUserAuth from "./SingleUserAuth"; +import MultiUserAuth from "./MultiUserAuth"; +import { + AUTH_TOKEN, + AUTH_USER, + AUTH_TIMESTAMP, +} from "../../../utils/constants"; +import useLogo from "../../../hooks/useLogo"; +import illustration from "@/media/illustrations/login-illustration.svg"; +import loginLogo from "@/media/illustrations/login-logo.svg"; + +export default function PasswordModal({ mode = "single" }) { + const { logo: _initLogo } = useLogo(); + return ( +
+
+
+ login illustration +
+
+ logo + {mode === "single" ? : } +
+
+ ); +} + +export function usePasswordModal(notry = false) { + const [auth, setAuth] = useState({ + loading: true, + requiresAuth: false, + mode: "single", + }); + + useEffect(() => { + async function checkAuthReq() { + if (!window) return; + + // If the last validity check is still valid + // we can skip the loading. + if (!System.needsAuthCheck() && notry === false) { + setAuth({ + loading: false, + requiresAuth: false, + mode: "multi", + }); + return; + } + + const settings = await System.keys(); + if (settings?.MultiUserMode) { + const currentToken = window.localStorage.getItem(AUTH_TOKEN); + if (!!currentToken) { + const valid = notry ? false : await System.checkAuth(currentToken); + if (!valid) { + setAuth({ + loading: false, + requiresAuth: true, + mode: "multi", + }); + window.localStorage.removeItem(AUTH_USER); + window.localStorage.removeItem(AUTH_TOKEN); + window.localStorage.removeItem(AUTH_TIMESTAMP); + return; + } else { + setAuth({ + loading: false, + requiresAuth: false, + mode: "multi", + }); + return; + } + } else { + setAuth({ + loading: false, + requiresAuth: true, + mode: "multi", + }); + return; + } + } else { + // Running token check in single user Auth mode. + // If Single user Auth is disabled - skip check + const requiresAuth = settings?.RequiresAuth || false; + if (!requiresAuth) { + setAuth({ + loading: false, + requiresAuth: false, + mode: "single", + }); + return; + } + + const currentToken = window.localStorage.getItem(AUTH_TOKEN); + if (!!currentToken) { + const valid = notry ? false : await System.checkAuth(currentToken); + if (!valid) { + setAuth({ + loading: false, + requiresAuth: true, + mode: "single", + }); + window.localStorage.removeItem(AUTH_TOKEN); + window.localStorage.removeItem(AUTH_USER); + window.localStorage.removeItem(AUTH_TIMESTAMP); + return; + } else { + setAuth({ + loading: false, + requiresAuth: false, + mode: "single", + }); + return; + } + } else { + setAuth({ + loading: false, + requiresAuth: true, + mode: "single", + }); + return; + } + } + } + checkAuthReq(); + }, []); + + return auth; +} diff --git a/frontend/src/components/Preloader.jsx b/frontend/src/components/Preloader.jsx new file mode 100644 index 0000000..4a81437 --- /dev/null +++ b/frontend/src/components/Preloader.jsx @@ -0,0 +1,18 @@ +export default function PreLoader({ size = "16" }) { + return ( +
+ ); +} + +export function FullScreenLoader() { + return ( +
+
+
+ ); +} diff --git a/frontend/src/components/PrivateRoute/index.jsx b/frontend/src/components/PrivateRoute/index.jsx new file mode 100644 index 0000000..1b4c71f --- /dev/null +++ b/frontend/src/components/PrivateRoute/index.jsx @@ -0,0 +1,141 @@ +import { useEffect, useState } from "react"; +import { Navigate } from "react-router-dom"; +import { FullScreenLoader } from "../Preloader"; +import validateSessionTokenForUser from "@/utils/session"; +import paths from "@/utils/paths"; +import { AUTH_TIMESTAMP, AUTH_TOKEN, AUTH_USER } from "@/utils/constants"; +import { userFromStorage } from "@/utils/request"; +import System from "@/models/system"; +import UserMenu from "../UserMenu"; + +// Used only for Multi-user mode only as we permission specific pages based on auth role. +// When in single user mode we just bypass any authchecks. +function useIsAuthenticated() { + const [isAuthd, setIsAuthed] = useState(null); + const [shouldRedirectToOnboarding, setShouldRedirectToOnboarding] = + useState(false); + const [multiUserMode, setMultiUserMode] = useState(false); + + useEffect(() => { + const validateSession = async () => { + const { + MultiUserMode, + RequiresAuth, + LLMProvider = null, + VectorDB = null, + } = await System.keys(); + + setMultiUserMode(MultiUserMode); + + // Check for the onboarding redirect condition + if ( + !MultiUserMode && + !RequiresAuth && // Not in Multi-user AND no password set. + !LLMProvider && + !VectorDB + ) { + setShouldRedirectToOnboarding(true); + setIsAuthed(true); + return; + } + + if (!MultiUserMode && !RequiresAuth) { + setIsAuthed(true); + return; + } + + // Single User password mode check + if (!MultiUserMode && RequiresAuth) { + const localAuthToken = localStorage.getItem(AUTH_TOKEN); + if (!localAuthToken) { + setIsAuthed(false); + return; + } + + const isValid = await validateSessionTokenForUser(); + setIsAuthed(isValid); + return; + } + + const localUser = localStorage.getItem(AUTH_USER); + const localAuthToken = localStorage.getItem(AUTH_TOKEN); + if (!localUser || !localAuthToken) { + setIsAuthed(false); + return; + } + + const isValid = await validateSessionTokenForUser(); + if (!isValid) { + localStorage.removeItem(AUTH_USER); + localStorage.removeItem(AUTH_TOKEN); + localStorage.removeItem(AUTH_TIMESTAMP); + setIsAuthed(false); + return; + } + + setIsAuthed(true); + }; + validateSession(); + }, []); + + return { isAuthd, shouldRedirectToOnboarding, multiUserMode }; +} + +// Allows only admin to access the route and if in single user mode, +// allows all users to access the route +export function AdminRoute({ Component }) { + const { isAuthd, shouldRedirectToOnboarding, multiUserMode } = + useIsAuthenticated(); + if (isAuthd === null) return ; + + if (shouldRedirectToOnboarding) { + return ; + } + + const user = userFromStorage(); + return isAuthd && (user?.role === "admin" || !multiUserMode) ? ( + + + + ) : ( + + ); +} + +// Allows manager and admin to access the route and if in single user mode, +// allows all users to access the route +export function ManagerRoute({ Component }) { + const { isAuthd, shouldRedirectToOnboarding, multiUserMode } = + useIsAuthenticated(); + if (isAuthd === null) return ; + + if (shouldRedirectToOnboarding) { + return ; + } + + const user = userFromStorage(); + return isAuthd && (user?.role !== "default" || !multiUserMode) ? ( + + + + ) : ( + + ); +} + +export default function PrivateRoute({ Component }) { + const { isAuthd, shouldRedirectToOnboarding } = useIsAuthenticated(); + if (isAuthd === null) return ; + + if (shouldRedirectToOnboarding) { + return ; + } + + return isAuthd ? ( + + + + ) : ( + + ); +} diff --git a/frontend/src/components/SettingsButton/index.jsx b/frontend/src/components/SettingsButton/index.jsx new file mode 100644 index 0000000..ac2d22c --- /dev/null +++ b/frontend/src/components/SettingsButton/index.jsx @@ -0,0 +1,33 @@ +import useUser from "@/hooks/useUser"; +import paths from "@/utils/paths"; +import { ArrowUUpLeft, Wrench } from "@phosphor-icons/react"; +import { Link } from "react-router-dom"; +import { useMatch } from "react-router-dom"; + +export default function SettingsButton() { + const isInSettings = !!useMatch("/settings/*"); + const { user } = useUser(); + + if (user && user?.role === "default") return null; + + if (isInSettings) + return ( + + + + ); + + return ( + + + + ); +} diff --git a/frontend/src/components/SettingsSidebar/index.jsx b/frontend/src/components/SettingsSidebar/index.jsx new file mode 100644 index 0000000..6b8f79e --- /dev/null +++ b/frontend/src/components/SettingsSidebar/index.jsx @@ -0,0 +1,376 @@ +import React, { useEffect, useRef, useState } from "react"; +import paths from "@/utils/paths"; +import useLogo from "@/hooks/useLogo"; +import { + EnvelopeSimple, + SquaresFour, + Users, + BookOpen, + ChatCenteredText, + Eye, + Key, + ChatText, + Database, + Lock, + House, + List, + FileCode, + Notepad, + CodeBlock, + Barcode, + ClosedCaptioning, + EyeSlash, + SplitVertical, + Microphone, +} from "@phosphor-icons/react"; +import useUser from "@/hooks/useUser"; +import { USER_BACKGROUND_COLOR } from "@/utils/constants"; +import { isMobile } from "react-device-detect"; +import Footer from "../Footer"; +import { Link } from "react-router-dom"; + +export default function SettingsSidebar() { + const { logo } = useLogo(); + const { user } = useUser(); + const sidebarRef = useRef(null); + const [showSidebar, setShowSidebar] = useState(false); + const [showBgOverlay, setShowBgOverlay] = useState(false); + + useEffect(() => { + function handleBg() { + if (showSidebar) { + setTimeout(() => { + setShowBgOverlay(true); + }, 300); + } else { + setShowBgOverlay(false); + } + } + handleBg(); + }, [showSidebar]); + + if (isMobile) { + return ( + <> +
+ +
+ Logo +
+
+
+
+
setShowSidebar(false)} + /> +
+
+ {/* Header Information */} +
+
+ Logo +
+
+ + + +
+
+ + {/* Primary Body */} +
+
+
+ +
+
+
+
+
+
+
+ + ); + } + + return ( +
+ + Logo + +
+
+
+ Instance Settings +
+
+
+
+ +
+
+
+
+
+
+
+
+
+ ); +} + +const Option = ({ + btnText, + icon, + href, + childLinks = [], + flex = false, + user = null, + allowedRole = [], + subOptions = null, + hidden = false, +}) => { + if (hidden) return null; + + const hasActiveChild = childLinks.includes(window.location.pathname); + const isActive = window.location.pathname === href; + + // Option only for multi-user + if (!flex && !allowedRole.includes(user?.role)) return null; + + // Option is dual-mode, but user exists, we need to check permissions + if (flex && !!user && !allowedRole.includes(user?.role)) return null; + + return ( + <> +
+ + {React.cloneElement(icon, { weight: isActive ? "fill" : "regular" })} +

+ {btnText} +

+ +
+ {!!subOptions && (isActive || hasActiveChild) && ( +
+ {subOptions} +
+ )} + + ); +}; + +const SidebarOptions = ({ user = null }) => ( + <> +

aW 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%0D6RJz=N1;X?z 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